Java學(xué)習(xí)路線分享jsp為什么用的不多了,曾經(jīng)JavaEE開發(fā)前端多數(shù)用的是JSP技術(shù),因?yàn)樵?/span>JSP出現(xiàn)之前,程序員基本都是在Servlet端直接通過out.print的方式拼接出一個(gè)頁(yè)面返回,這樣的做法嚴(yán)重的違背了MVC分層原則,前端會(huì)非常難以維護(hù)。Jsp技術(shù)出現(xiàn)后,極大的改善了這個(gè)問題,在將試圖層抽離出來的同時(shí),也充分保證了頁(yè)面的動(dòng)態(tài)性。但是現(xiàn)在開發(fā)卻很少用到JSP了。終其原因大概可以歸納為以下幾點(diǎn):
1、 JSP底層原理就是Servlet直接out.print的方式運(yù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è)和開發(fā)者來說,選擇變多了。
5、 現(xiàn)在很多企業(yè)都開始采用前后端分離的項(xiàng)目結(jié)構(gòu)了,后端專注并發(fā)、存儲(chǔ)等方面,前端通過VUE等框架實(shí)現(xiàn),JSP只能運(yùn)行在web容器中,無法運(yùn)行在nginx這樣的高效的http服務(wù)上,因此慢慢的被時(shí)代所遺棄。
聯(lián)系客服