servlet執行流程與生命週期

Servlet(Server Applet)是Java Servlet的簡稱,稱爲小服務程序或服務連接器,用Java編寫的服務器端程序,具有獨立於平臺和協議的特性,主要功能在於交互式地瀏覽和生成數據,生成動態Web內容。
狹義的Servlet是指Java語言實現的一個接口,廣義的Servlet是指任何實現了這個Servlet接口的類,一般情況下,人們將Servlet理解爲後者。Servlet運行於支持Java的應用服務器中。從原理上講,Servlet可以響應任何類型的請求,但絕大多數情況下Servlet只用來擴展基於HTTP協議的Web服務器。

Servlet的執行流程

  1. 瀏覽器向Tomcat發送一個Http請求,請求中包含了映射地址及傳遞參數;
  2. 解析web.xml文件,找到與之對應的url與servletname,再找到對應的servlet,將其實例化並初始化;
  3. Tomcat執行該實例的service()方法,將結果返回瀏覽器。
  4. 瀏覽器解析返回結果並展示。

Servlet在第一次被訪問的時候被實例化與初始化,在tomcat中全局唯一,併發下單例多線程,因此servlet不允許創建存在狀態的變量或對象。

Servlet的生命週期

  1. 裝載:程序啓動時tomcat掃描web.xml,得知存在哪些servlet;
  2. 創建:url第一次訪問servlet時創建,執行構造函數。
  3. 初始化:創建後init()方法進行初始化;
  4. 提供服務:service()方法——doGet()或doPost();
  5. 銷燬:destroy()方法,在web程序重啓或關閉時調用。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章