javascript
浅谈Servlet与JSP
前言
????提高Java Web 開(kāi)發(fā),不得不說(shuō)http協(xié)議,接下來(lái)就說(shuō)Servlet 和 Jsp 這兩個(gè)java類。
正文
1、什么是JSP?
????JSP(Java Server Pages)是Sun 公司指定的一種服務(wù)器端動(dòng)態(tài)頁(yè)面技術(shù)的組件規(guī)范,Jsp是以“.jsp”為后綴的文件,在該文件中主要是html 和少量的java 代碼。jsp 文件在容器中會(huì)轉(zhuǎn)換成Servlet中執(zhí)行。
2、什么是Servlet?
????Servlet (Server Applet)是Sun公司指定的一種用來(lái)擴(kuò)展Web服務(wù)器功能的組件規(guī)范,屬于服務(wù)器端程序,主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動(dòng)態(tài)Web內(nèi)容。
????借用知乎上java老師的一句話:jsp就是在html里面寫(xiě)java代碼,servlet就是在java里面寫(xiě)html代碼。
3、JSP與Servlet的區(qū)別和聯(lián)系
- 運(yùn)行過(guò)程
????客戶在第一次請(qǐng)求JSP時(shí),請(qǐng)求較慢,因?yàn)镴SP Engine先把JSP程序轉(zhuǎn)換成servlet代碼,接著將它編譯成類文件,以后貯存在內(nèi)存中再次調(diào)用速度就快了;
????訪問(wèn)servlet時(shí),可以直接對(duì)其編譯好的類文件執(zhí)行。
- 使用方式
????要想使用servlet必須把它放在特定位置而且必須對(duì)其映射配置;
????jsp可以放在和html同樣位置(webapps根目錄下或者webapps根目錄下的子目錄下)而且不需要配置,可以直接使用。
- 程序組成
????Servlet在Java代碼中通過(guò)HttpServletResponse對(duì)象動(dòng)態(tài)輸出HTML內(nèi)容;
????JSP在靜態(tài)HTML內(nèi)容中嵌入Java代碼,Java代碼被動(dòng)態(tài)執(zhí)行后生成HTML內(nèi)容
- 職能分工
????jsp更側(cè)重于前端頁(yè)面顯示,servlet更側(cè)重于業(yè)務(wù)邏輯。
- 本是一家人
????Jsp 本質(zhì)上是servlet,用jsp實(shí)現(xiàn)的頁(yè)面用servlet也能實(shí)現(xiàn)。
4、揚(yáng)長(zhǎng)弊端提出MVC
????JSP 在Html 中加入了大量的、復(fù)雜的業(yè)務(wù)邏輯,如果后期業(yè)務(wù)邏輯發(fā)生改變,修改jsp 就會(huì)捉襟見(jiàn)肘;
????Servlet 雖然解決了業(yè)務(wù)邏輯的問(wèn)題,但是通過(guò)字符串拼接的方式生成動(dòng)態(tài)的Html 頁(yè)面,也會(huì)導(dǎo)致代碼臃腫,難以維護(hù);
????MVC(Model-View-Controller)模式就揚(yáng)長(zhǎng)避短,將兩者完美結(jié)合在一起,它把把軟件系統(tǒng)分為三個(gè)層次:模型(Model)、視圖(View)和控制器(Controller);
????時(shí)序圖說(shuō)明:
????1、Web瀏覽器發(fā)送HTTP請(qǐng)求到服務(wù)端,被Controller(Servlet)獲取并進(jìn)行處理(例如參數(shù)解析、請(qǐng)求轉(zhuǎn)發(fā))
????2、Controller(Servlet)調(diào)用核心業(yè)務(wù)邏輯——Model部分,獲得結(jié)果
????3、Controller(Servlet)將邏輯處理結(jié)果交給View(JSP),動(dòng)態(tài)生成的HTML內(nèi)容并返回到瀏覽器顯示
總結(jié)
????感謝您的閱讀,希望對(duì)您有所幫助!
總結(jié)
以上是生活随笔為你收集整理的浅谈Servlet与JSP的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 融跃新闻:中国8大最难考试,CFA排第二
- 下一篇: Spring IOC(Inversion