JavaWeb技術(shù)棧詳解


【JavaWeb簡介】
Java Web是用Java技術(shù)來解決相關(guān)web互聯(lián)網(wǎng)領(lǐng)域的技術(shù)棧。web包括:web服務(wù)端和web客戶端兩部分。Java在客戶端的應(yīng)用有java applet,不過使用得很少,Java在服務(wù)器端的應(yīng)用非常的豐富,比如Servlet,JSP和第三方框架等等。Java技術(shù)對Web領(lǐng)域的發(fā)展注入了強(qiáng)大的動力。
?
【JavaWeb主要框架】
Java的Web框架雖然各不相同,但基本也都是遵循特定的路數(shù)的:使用Servlet或者Filter攔截請求,使用MVC的思想設(shè)計(jì)架構(gòu),使用約定,XML或 Annotation實(shí)現(xiàn)配置,運(yùn)用Java面向?qū)ο蟮奶攸c(diǎn),面向?qū)ο髮?shí)現(xiàn)請求和響應(yīng)的流程,支持Jsp,F(xiàn)reemarker,Velocity等視圖。
JSP優(yōu)點(diǎn):
Java EE標(biāo)準(zhǔn),這意味著有很大的市場需求和更多的工作機(jī)會
上手快速并且相對容易
有大量可用的組件庫
JSP缺點(diǎn):
大量的JSP標(biāo)簽
對REST和安全支持不好
沒有一個(gè)統(tǒng)一的實(shí)現(xiàn)。既有SUN的實(shí)現(xiàn),又有Apache的實(shí)現(xiàn)——MyFaces
Spring MVC優(yōu)點(diǎn):
對Spring MVC覆蓋綁定(overriding binding)、驗(yàn)證(validation)等提供生命周期管理
與許多表示層技術(shù)/框架無縫集成:JSP/JSTL、Tiles、Velocity、FreeMarker、Excel、XSL、PDF 等
便于測試——?dú)w功于IoC
Spring MVC缺點(diǎn):
大量的XML配置文件
太過靈活——沒有公共的父控制器
沒有內(nèi)置的Ajax支持
Stripes優(yōu)點(diǎn):
不需要書寫XML配置文件
良好的學(xué)習(xí)文檔
社區(qū)成員很熱心
Stripes缺點(diǎn):
社區(qū)比較小
不如其他的項(xiàng)目活躍
ActionBean里面的URL是硬編碼的
Struts 2優(yōu)點(diǎn):
架構(gòu)簡單——易于擴(kuò)展
標(biāo)記庫很容易利用FreeMarker或者Velocity來定制
基于控制器或
者基于頁面的導(dǎo)航
Struts 2缺點(diǎn):
文檔組織得很差
對新特征過分關(guān)注
Tapestry優(yōu)點(diǎn):
一旦學(xué)會它,將極大地提高生產(chǎn)率
HTML模板——對頁面設(shè)計(jì)師非常有利
每出一個(gè)新版本,都會有大量的創(chuàng)新
Tapestry缺點(diǎn):
文檔過于概念性,不夠?qū)嵱?/p>
學(xué)習(xí)曲線陡峭
發(fā)行周期長——每年都有較大的升級
Wicket優(yōu)點(diǎn):
對Java開發(fā)者有利(不是Web開發(fā)者)
頁面和顯示綁定緊密
社區(qū)活躍——有來自創(chuàng)建者的支持
Wicket缺點(diǎn):
HTML模板和Java代碼緊挨著
需要對OO有較好的理解
Wicket邏輯——什么都用Java搞定
?
【系統(tǒng)學(xué)習(xí)并掌握JavaWeb】
尚硅谷JavaWeb教程——2020 IDEA版
https://www.bilibili.com/video/BV1Y7411K7zz
課程詳情:
本課程為新版JavaWeb教程,使用idea進(jìn)行開發(fā),同時(shí)對多項(xiàng)技術(shù)進(jìn)行了升級!
課程涵蓋:Servlet程序、Filter過濾器、Listener監(jiān)聽器、JSP頁面、EL表達(dá)式、JSTL標(biāo)簽庫、jQuery框架、Cookie技術(shù)、Session會話、JSON使用、Ajax請求等大量Web開發(fā)核心技術(shù)點(diǎn),并在講解知識點(diǎn)過程中帶領(lǐng)大家完成一個(gè)項(xiàng)目案例,將大量技術(shù)學(xué)以致用,融會貫通。
