- what
Servlet(Server Applet)是Java Servlet的簡稱,是Java Web的三大組件(Servlet,Filter,Listener)之一,它屬於動態資。Servlet 是在服務器上運行的一個個小程序。各自處理相應的請求。
Servlet的作用是處理請求,服務器接收到的請求交給Servlet來處理,我寫的Tomcat的學習 應用中,Tomcat接收客戶端的請求就是交給相應的Servlet來處理(可以接收數據傳給業務邏輯Service),Servlet會去調用相應的業務邏輯Service,在業務邏輯中調用相應的Dao獲取數據,處理業務,然後將數據填充到JSP中,JSP再轉換成靜態資源,服務器將響應返回給客戶端,由此實現動態資源的訪問。
- 接收請求數據
- 處理請求
- 完成響應
例如: 登陸功能
- 客戶端發出登陸請求,Tomcat(服務器)接收請求,服務器將請求信息發送至登陸的Servlet處理,登錄的Servlet接收數據調用登陸的業務邏輯Service傳入登陸信息,業務邏輯調用登陸的Dao傳入登陸信息查找與信息匹配的數據放回,逐級返回,假如登陸成功Servlet將登陸的用戶名,用戶消息傳給JSP填充數據,轉換靜態資源,服務器將響應返回給客戶端。
why
servlet可以很好地替代公共網關接口(Common Gateway Interface,CGI)腳本。通常CGI腳本是用Perl或者C語言編寫的,它們總是和特定的服務器平臺緊密相關。而servlet是用Java編寫的,所以它們一開始就是平臺無關的。這樣,Java編寫一次就可以在任何平臺運行就同樣可以在服務器上實現了。servlet的獨特優點:servlet是持久的。servlet只需Web服務器加載一次,而且可以在不同請求之間保持服務(例如一次數據庫連接)。與之相反,CGI腳本是短暫的、瞬態的。每一次對CGI腳本的請求,都會使Web服務器加載並執行該腳本。一旦這個CGI腳本運行結束,它就會被從內存中清除,然後將結果返回到客戶端。CGI腳本的每一次使用,都會造成程序初始化過程(例如連接數據庫)的重複執行。
servlet與平臺無關。servlet是用Java編寫的,繼承了Java的平臺無關性。
servlet可擴展性。由於servlet是用Java編寫的,它就具備了Java所能帶來的所有優點。Java是健壯的、面向對象的編程語言,它很容易擴展以適應你的需求。servlet自然也具備了這些特徵。
servlet是安全的。從外界調用一個servlet的惟一方法就是通過Web服務器。這提供了高水平的安全性保障,尤其是在你的Web服務器有防火牆保護的時候。
setvlet可以在多種多樣的客戶機上使用。由於servlet是用Java編寫的,所以你可以很方便地在HTML中使用它們,就像你使用applet一樣。
how
- 實現Servlet的三種方式:
- 實現javax.serlvet.Servlet接口
- 繼承javax.servlet.GenericSerlvet類
- 繼承javax.servlet.http.HttpServlet類
- 實現Servlet的三種方式:
Java Web 之 Serlvet
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.