jsp和servlet的差別和聯系:
1.jsp經編譯後就變成了Servlet.
(JSP的本質就是Servlet,JVM隻能識别java的類,不能識别JSP的代碼,Web容器将JSP的代碼編譯成JVM能夠識别的java類)
2.jsp更擅長表現于頁面顯示,servlet更擅長于邏輯控制.
3.Servlet中沒有内置對象,Jsp中的内置對象都是必須通過HttpServletRequest對象,HttpServletResponse對象以及HttpServlet對象得到.
Jsp是Servlet的一種簡化,使用Jsp隻需要完成程式員需要輸出到用戶端的内容,Jsp中的Java腳本如何鑲嵌到一個類中,由Jsp容器完成。
而Servlet則是個完整的Java類,這個類的Service方法用于生成對用戶端的響應。
聯系:
JSP是Servlet技術的擴充,本質上就是Servlet的簡易方式。JSP編譯後是“類servlet”。
Servlet和JSP最主要的不同點在于:
Servlet的應用邏輯是在Java檔案中,并且完全從表示層中的HTML裡分離開來。
而JSP的情況是Java和HTML可以組合成一個擴充名為.jsp的檔案。
JSP側重于視圖,Servlet主要用于控制邏輯
Servlet更多的是類似于一個Controller,用來做控制。
了解以下三點即可:
1、不同之處在哪?
Servlet在Java代碼中通過HttpServletResponse對象動态輸出HTML内容
JSP在靜态HTML内容中嵌入Java代碼,Java代碼被動态執行後生成HTML内容
2、各自的特點
Servlet能夠很好地組織業務邏輯代碼,但是在Java源檔案中通過字元串拼接的方式生成動态HTML内容會導緻代碼維護困難、可讀性差
JSP雖然規避了Servlet在生成HTML内容方面的劣勢,但是在HTML中混入大量、複雜的業務邏輯同樣也是不可取的
3、通過MVC雙劍合璧
既然JSP和Servlet都有自身的适用環境,那麼能否揚長避短,讓它們發揮各自的優勢呢?答案是肯定的——MVC(Model-View-Controller)模式非常适合解決這一問題。
參考位址:https://www.cnblogs.com/sanyouge/p/7325656.html