W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
jsp作為Servlet技術(shù)的擴(kuò)展,經(jīng)常會有人將jsp和Servlet搞混。本文,將為大家?guī)韘ervlet和jsp的區(qū)別,希望對大家有所幫助。
servlet和jsp的區(qū)別
1、Servlet在Java代碼中可以通過HttpServletResponse對象動態(tài)輸出HTML內(nèi)容。
2、JSP是在靜態(tài)HTML內(nèi)容中嵌入Java代碼,然后Java代碼在被動態(tài)執(zhí)行后生成HTML內(nèi)容。
servlet和jsp的各自的特點(diǎn)
1、Servlet雖然能夠很好地組織業(yè)務(wù)邏輯代碼,但是在Java源文件中,因?yàn)槭峭ㄟ^字符串拼接的方式生成動態(tài)HTML內(nèi)容,這樣就容易導(dǎo)致代碼維護(hù)困難、可讀性差。
2、JSP雖然規(guī)避了Servlet在生成HTML內(nèi)容方面的劣勢,但是在HTML中混入大量、復(fù)雜的業(yè)務(wù)邏輯。
通過MVC雙劍合璧
JSP和Servlet都有自身的適用環(huán)境,那么有沒有什么辦法能夠讓它們發(fā)揮各自的優(yōu)勢呢?答案是肯有的,MVC模式就能夠完美解決這一問題。
MVC模式,是Model-View-Controller的簡稱,是軟件工程中的一種軟件架構(gòu)模式,分為三個基本部分,分別是:模型(Model)、視圖(View)和控制器(Controller):
Controller——負(fù)責(zé)轉(zhuǎn)發(fā)請求,對請求進(jìn)行處理
View——負(fù)責(zé)界面顯示
Model——業(yè)務(wù)功能編寫(例如算法實(shí)現(xiàn))、數(shù)據(jù)庫設(shè)計以及數(shù)據(jù)存取操作實(shí)現(xiàn)
在JSP/Servlet開發(fā)的軟件系統(tǒng)中,這三個部分的描述如下所示:
1、Web瀏覽器發(fā)送HTTP請求到服務(wù)端,然后被Controller(Servlet)獲取并進(jìn)行處理(例如參數(shù)解析、請求轉(zhuǎn)發(fā))
2、Controller(Servlet)調(diào)用核心業(yè)務(wù)邏輯——Model部分,獲得結(jié)果
3、Controller(Servlet)將邏輯處理結(jié)果交給View(JSP),動態(tài)輸出HTML內(nèi)容
4、動態(tài)生成的HTML內(nèi)容返回到瀏覽器顯示
MVC模式在Web開發(fā)中有很大的優(yōu)勢,它完美規(guī)避了JSP與Servlet各自的缺點(diǎn),讓Servlet只負(fù)責(zé)業(yè)務(wù)邏輯部分,而不會生成HTML代碼;同時JSP中也不會充斥著大量的業(yè)務(wù)代碼,這樣能大提高了代碼的可讀性和可維護(hù)性。
相關(guān)閱讀:
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: