初識Servlet

來源:互聯網
上載者:User

標籤:des   style   blog   java   http   ext   

一、 什麼是Servlet

    這裡所討論的Servlet,準確的說,應該是javax.servlet.http.HttpServlet,它是伺服器收到請求之後調用的,專門用來響應HTTP請求,並且提供了響應請求的doGet()和doPost()方法. 它本質上來說就是一個java類,只不過它是運行在伺服器上的java類.它具有獨立於平台和協議的特性,可以產生動態Web頁面. 它擔當客戶請求(Web瀏覽器或其他HTTP客戶程式)與伺服器響應(HTTP伺服器上的資料庫或應用程式)的中介層。


    Java Servlet API 定義了一個servlet 和Java使能的伺服器之間的一個標準介面,這使得Servlets具有跨伺服器平台的特性。  Servlet 通過建立一個架構來擴充伺服器的能力,以提供在 Web 上進行請求和響應服務。當客戶機發送請求至伺服器時,伺服器可以將請求資訊發送給 Servlet,並讓 Servlet 建立起伺服器返回給客戶機的響應。 當啟動 Web 伺服器或客戶機第一次請求服務時,可以自動裝入 Servlet。裝入後, Servlet 繼續運行直到其它客戶機發出請求。


二、 Servlet生命週期

  先:

 

b) 生命全過程


    i. 載入Servlet並執行個體化(new),同時初始化(init)

       servlet第一次被請求載入時,伺服器初始化這個servlet,即建立一個servlet對象,這對象調用init方法完成必要的初始化工作。 


    ii. 處理請求(service→doGet/doPost)

        誕生的servlet對象再調用service方法響應客戶的請求。根據請求,service會調用doGet()或doPost()進行處理.


    iii. 退出服務(destroy)

         當伺服器關閉時,調用destroy方法,消滅servlet對象。


c) 注意事項

    i. Servlet只執行個體化一次

    ii. Init方法也只執行一次

    iii. Servlet不是安全執行緒的


     即init方法只被調用一次,即在servlet第一次被請求載入時調用該方法。當後續的客戶請求servlet服務時,Web服務將啟動一個新的線程,在該線程中,servlet調用service方法響應客戶的請求,也就是說,每個客戶的每次請求都導致service方法被調用執行。


三、 Servlet類與普通Java類的區別

    Servlet是位於Web 伺服器內部的伺服器端的Java應用程式,與傳統的從命令列啟動的Java應用程式不同,Servlet由Web伺服器進行載入,該Web伺服器必須包含支援Servlet的Java虛擬機器,下面對Servlet類與普通Java類進行了一個簡單的對比:

 

 

四、總結

    新知識的學習我們總是想方設法與現有的舊知識進行類比,再高明一點的話可以直接用生活化的語言解釋清楚。而我學習java不久,只能從現在的知識中尋找以前的影子,下面的這張圖是近來學習Servlet時想到的將.NET與JAVA對比,不足之處還請大家不吝指教:


    一對比就會發現它們雖然屬於不同的平台,使用不同的語言,但本質就很相像了,。依樣畫葫蘆,以後上手的話就可以快很多了。本篇部落格只限於對servlet的淺顯認知,下篇將使用一個小例子說明Servlet的基本原理,敬請期待~

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.