天天看點

jsp/servlet差別

JSP全名為Java Server Pages,中文名叫java伺服器頁面,其根本是一個簡化的Servlet設計,它是由Sun Microsystems公司倡導、許多公司參與一起建立的一種動态網頁技術标準。JSP技術有點類似ASP技術,它是在傳統的網頁HTML(标準通用标記語言的子集)檔案(.htm,.html)中插入Java程式段(Scriptlet)和JSP标記(tag),進而形成JSP檔案,字尾名為(*.jsp)。 用JSP開發的Web應用是跨平台的,既能在Linux下運作,也能在其他作業系統上運作。

Servlet(Server Applet)是Java Servlet的簡稱,稱為小服務程式或服務連接配接器,用Java編寫的伺服器端程式,主要功能在于互動式地浏覽和修改資料,生成動态Web内容。狹義的Servlet是指Java語言實作的一個接口,廣義的Servlet是指任何實作了這個Servlet接口的類,一般情況下,人們将Servlet了解為後者。Servlet運作于支援Java的應用伺服器中。從原理上講,Servlet可以響應任何類型的請求,但絕大多數情況下Servlet隻用來擴充基于HTTP協定的Web伺服器。

jsp/servlet差別

運作過程的差別: 

客戶在第一次請求JSP時,JSP Engine先把JSP程式轉換成servlet代碼(JSP本質上是servlet),接着将他編譯成類檔案,以後每次對此類檔案執行; 

通路servlet時,可以直接對其編譯好的類檔案執行。

使用規則的差別: 

要想使用servlet必須把它放在特定位置而且必須對其配置; 

jsp可以放在和html同樣位置(webapps根目錄下或者webapps根目錄下的子目錄下)而且不需要配置,可以直接使用。

程式組成的差別: 

在Html中内嵌java代碼組成jsp檔案; 

servlet是由純java代碼組成。

主要職能的差別: 

jsp主要負責頁面效果展現 

servlet主要負責邏輯控制

其實jsp經過容器解釋之後就是servlet.

隻是我們自己寫代碼的時候盡量能讓它們各司其職, 

jsp更注重前端顯示, 

servlet更注重模型和業務邏輯。

jsp就是在html裡面寫java代碼, 

servlet就是在java裡面寫html代碼

不要寫出萬能的jsp或servlet來即可。

web.xml用來建立servlet與jsp的關系(需要放在WEB-INF内)

index.jsp: