任何一個(gè)框架的發(fā)明都是為了解決編程中的一些痛點(diǎn),打開(kāi)任何一本hibernate或者其他框架的入門書,第一章都是介紹框架的理念和優(yōu)勢(shì)。如果需要理解這些理念和優(yōu)勢(shì),那么你需要知道不使用這個(gè)框架之前是怎么處理的,才能知道框架做了一些什么事情。
針對(duì)Spring的學(xué)習(xí),第一步就是理解IoC和AOP;這是基礎(chǔ);然后學(xué)習(xí)SpringMVC,其實(shí)還是Java EE開(kāi)發(fā),如果要理解這個(gè)框架,就要知道沒(méi)有這個(gè)框架之前,使用的是什么技術(shù)。
Web開(kāi)發(fā),首先需要理解的是HTTP協(xié)議,這部分一定要深入理解。理解http請(qǐng)求,其實(shí)就是要知道下面這張圖的含義。
還要知道服務(wù)器發(fā)送給瀏覽器的響應(yīng)是沒(méi)有沒(méi)有JS,CSS和圖片等外部資源的,瀏覽器在解析響應(yīng)時(shí)才會(huì)再次請(qǐng)求這些資源。
接下來(lái),學(xué)習(xí)Servlet和JSP,現(xiàn)在流行的框架Spring MVC和Struts2其實(shí)都是基于Servlet的,只有深入理解Servlet才能理解后面的新技術(shù)。
下面幾個(gè)知識(shí)點(diǎn)可以檢測(cè)你是否理解了Servlet:
1.什么是ServletContext,和tomcat等web容器的關(guān)系時(shí)什么?Servlet工作原理解析
就是我們?cè)跒g覽器點(diǎn)擊鏈接和按鈕產(chǎn)生的消息不是發(fā)送給
servlet的,而是發(fā)送給Web容器的,web容器接收消息后不知道怎么處理,轉(zhuǎn)交給我們編寫的Servlet處理,那么web容器怎么和Servlet交流呢?于是就出現(xiàn)了Servlet接口,
2.什么是Session?Session在實(shí)際工程中的應(yīng)用場(chǎng)景。
3.JSP是面向服務(wù)器的,JSP就是一個(gè)Servlet。JSP的常用對(duì)象和指令。
4.JSP的中文編碼亂碼有幾種情況?各自的解決方法?ps:JSP文件的編碼,瀏覽器的解析編碼,GET請(qǐng)求的編碼,POST的編碼。
5.Servlet是一種接口規(guī)范,其中請(qǐng)求和響應(yīng)是Servlet容器通過(guò)向方法的參數(shù)賦值
查看源碼是比較快的學(xué)習(xí)方法,在一個(gè)項(xiàng)目里直接利用debug的方式追蹤變量查看源碼,而不是去閱讀源碼
你可以新建一個(gè)maven web項(xiàng)目,將需要的依賴都添加到pom中去,在pom文件夾中打開(kāi)終端,運(yùn)行"mvn dependency:sources"就可以下載所有pom中依賴的源碼。
可以在outline的窗口清楚地看到ModelAndView的屬性和方法,可以看到ModelAndView有兩個(gè)屬性很重要,一個(gè)是view:Object;一個(gè)是model:ModelMap,接著可以看到上面方法的第二行調(diào)用的是如下代碼:
所以model中實(shí)際使用的是ModelMap這個(gè)類,那這個(gè)類的結(jié)構(gòu)是什么呢?按住Ctrl再單擊ModelMap,就可以看到其實(shí)就是一個(gè)linkedHashMap<String,Object>。
以上就是天津卓眾教育java培訓(xùn)機(jī)構(gòu)的小編針對(duì)“Java三大框架教程,看我們?nèi)绾伟伤鼘W(xué)透”的內(nèi)容進(jìn)行的回答,希望對(duì)大家有所幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
Java教程