Java學(xué)習(xí)路線(xiàn)分享jsp為什么用的不多了,曾經(jīng)JavaEE開(kāi)發(fā)前端多數(shù)用的是JSP技術(shù),因?yàn)樵?/span>JSP出現(xiàn)之前,程序員基本都是在Servlet端直接通過(guò)out.print的方式拼接出一個(gè)頁(yè)面返回,這樣的做法嚴(yán)重的違背了MVC分層原則,前端會(huì)非常難以維護(hù)。Jsp技術(shù)出現(xiàn)后,極大的改善了這個(gè)問(wèn)題,在將試圖層抽離出來(lái)的同時(shí),也充分保證了頁(yè)面的動(dòng)態(tài)性。但是現(xiàn)在開(kāi)發(fā)卻很少用到JSP了。終其原因大概可以歸納為以下幾點(diǎn): 1、 JSP底層原理就是Servlet直接out.print的方式運(yùn)行,在第一次訪(fǎng)問(wèn)JSP時(shí),需要將JSP編譯成Servlet的class文件,拖慢運(yùn)行速度。 2、 JSP可以直接嵌入java腳本,實(shí)現(xiàn)頁(yè)面動(dòng)態(tài)化,但是這樣就打破了分層的思想,影響整體程序結(jié)構(gòu),降低JSP頁(yè)面的可讀性。 3、 可以使用jstl標(biāo)簽或者el表達(dá)式代替Java腳本,增加頁(yè)面的可讀性,但是el表達(dá)式底層有一些反射實(shí)現(xiàn),這樣會(huì)降低頁(yè)面的渲染速度。 4、 后續(xù)出現(xiàn)了很多優(yōu)秀的模板技術(shù)(velocity、freemarker、thymeleaf等),這些模板技術(shù)效率都高于jsp,對(duì)于企業(yè)和開(kāi)發(fā)者來(lái)說(shuō),選擇變多了。 5、 現(xiàn)在很多企業(yè)都開(kāi)始采用前后端分離的項(xiàng)目結(jié)構(gòu)了,后端專(zhuān)注并發(fā)、存儲(chǔ)等方面,前端通過(guò)VUE等框架實(shí)現(xiàn),JSP只能運(yùn)行在web容器中,無(wú)法運(yùn)行在nginx這樣的高效的http服務(wù)上,因此慢慢的被時(shí)代所遺棄。 |
|
來(lái)自: 好程序員IT > 《Java培訓(xùn)教程》