jsp作為servlet技術的擴充,經常會有人将jsp和servlet搞混。本文,将為大家帶來servlet和jsp的差別。希望對大家有所幫助。
servlet和jsp的差別
1.servlet在java代碼中可以通過HttpRervletResponse對象動态輸出HTML内容。
2.JSP是在靜态HTML内容中嵌入java代碼,然後Java代碼在被動态執行後生成HTML内容。
注:jsp本質上就是個servlet。
servlet和jsp的各自特點
1.servlet雖然能夠很好的組織業務邏輯代碼,但是在java源程式中,因為是通過字元串拼接的方式生成動态HTML内容,這樣容易導緻代碼維護困難可讀性差。
2.jsp雖然規避了servlet在生成HTML内容方面的劣勢,但是在HTML中混入了大量的複雜業務邏輯。
通過MVC 雙劍合璧
jsp和servlet都有自身的使用環境,那麼有沒有什麼辦法使他們發揮出各自的優勢呢?有是有的,MVC模式就是解決這一問題的完美方式。MVC模式是Model-View-Controller的簡稱,是軟體工程中一種軟體架構模式,分為三個基本部分,分别是模型, 視圖和控制器;
controller------負責轉發請求對請求進行處理
view------負責界面顯示
model------負責業務功能的編寫(例如算法的實作),資料庫實際及資料存取操作的實作.
在jsp/servlet開發的軟體系統中這三個部分的描述如下所示;

1.web浏覽器發送HTTP請求到伺服器,然後被controller(servlet)擷取并進行處理(例如參數解析,請求轉發)
2.controller(servlet)調用核心業務邏輯--model部分,擷取結果
3.controller(servlet)将邏輯處理結果交給view(jsp)動态輸出HTML内容。
4.動态生成的HTML内容傳回到浏覽器顯示
MVC模式在web開發中有很大的優勢,它完美的規避了jsp和servlet各自的缺點,讓servlet隻負責業務邏輯部分,而不會産生HTML代碼;同時jsp中也不會充斥着大量的業務代碼,這樣大大提高了代碼的可讀性和可維護性。