天天看點

JSP和Servlet的簡答差別

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