【JSP】JSP與Servlet的區別

一、概念

Servlet

ServletServer AppletJava Servlet的簡稱,是爲小服務程序或服務連接器,用Java編寫的服務器端程序,主要功能在於交互式地瀏覽和修改數據,生成動態Web內容。

狹義的Servlet是指Java語言實現的一個接口,廣義的Servlet是指任何實現了這個Servlet接口的類,一般情況下,人們將Servlet理解爲後者。Servlet運行於支持Java的應用服務器中。從原理上講,Servlet可以響應任何類型的請求,但絕大多數情況下Servlet只用來擴展基於HTTP協議的Web服務器。

JSP

JSP全名爲Java Server Pages,中文名叫java服務器頁面,其根本是一個簡化的Servlet設計,它是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動態網頁技術標準。JSP技術有點類似ASP技術,它是在傳統的網頁HTML(標準通用標記語言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)JSP標記(tag),從而形成JSP文件,後綴名爲(*.jsp)。 用JSP開發的Web應用是跨平臺的,既能在Linux下運行,也能在其他操作系統上運行。

二、區別

  • JSP第一次運行的時候會編譯成Servlet,駐留在內存中以供調用。

  • JSPweb開發技術,Servlet是服務器端運用的小程序,我們訪問一個JSP頁面時,服務器會將這個JSP頁面轉變成Servlet小程序運行得到結果後,反饋給用戶端的瀏覽器。

  • Servlet相當於一個控制層再去調用相應的JavaBean處理數據,最後把結果返回給JSP

  • Servlet主要用於轉向,將請求轉向到相應的JSP頁面。

  • JSP更多的是進行頁面顯示,Servlet更多的是處理業務,即JSP是頁面,Servlet是實現JSP的方法。

  • Servlet可以實現JSP的所有功能,但由於美工使用Servlet做界面非常困難,後來開發了JSP

  • JSP技術開發網站的兩種模式:JSP + JavaBeanJSP + Servlet + JavaBean(一般在多層應用中, JSP主要用作表現層,Servlet則用作控制層,因爲在JSP中放太多的代碼不利於維護,而把這留給Servlet來實現,而大量的重複代碼寫在JavaBean中)。

三、概括

JSP是Servlet技術的擴展,本質上就是Servlet的簡易方式。JSP編譯後是“類servlet”。ServletJSP最主要的不同點在於,Servlet的應用邏輯是在Java文件中,並且完全從表示層中的HTML裏分離開來。而JSP的情況是JavaHTML可以組合成一個擴展名爲.jsp的文件。JSP側重於視圖,Servlet主要用於控制邏輯。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章