Java Web 之 Serlvet

  1. 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填充數據,轉換靜態資源,服務器將響應返回給客戶端。
  2. 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一樣。

  3. how

    • 實現Servlet的三種方式:
      • 實現javax.serlvet.Servlet接口
      • 繼承javax.servlet.GenericSerlvet類
      • 繼承javax.servlet.http.HttpServlet類
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章