當伺服器接受到客戶端瀏覽器的請求後,會解析請求url路徑,獲取訪問的servlet的資源路徑
查詢web.xml檔案,是否有對應的標籤體內容。
如果有,則在找到對應的全類名
tomcat會將位元組碼檔案載入進記憶體,並且建立其物件
呼叫其方法
servlet什麼時候被建立?
可以配置執行servlet的建立時機。
在標籤下配置
1. 第一次被訪問時,建立
的值為負數
2. 在伺服器啟動時,建立
的值為0或正整數
解決:盡量不要在servlet中定義成員變數。即使定義了成員變數,也不要對修改值
提供服務:執行service方法,執行多次
每次訪問servlet時,service方法都會被呼叫一次。
被銷毀:執行destroy方法,只執行一次
servlet被銷毀時執行。伺服器關閉時,servlet被銷毀
只有伺服器正常關閉時,才會執行destroy方法。
destroy方法在servlet被銷毀之前執行,一般用於釋放資源
@target()
@retention
(retentionpolicy.runtime)
@documented
public @inte***ce
webservlet
;//代表urlpatterns()屬性配置
string[
]urlpatterns()
default
;//相當於
intloadonstartup()
default-1
;//相當於
webinitparam[
]initparams()
default
;boolean
asyncsupported()
default
false;
string smallicon()
default"";
string largeicon()
default"";
string description()
default"";
string displayname()
default"";
}
請求行
請求方式 請求url 請求協議/版本
請求方式:
請求頭:客戶端瀏覽器告訴伺服器一些資訊
請求頭名稱: 請求頭值
常見的請求頭:
user-agent:瀏覽器告訴伺服器,我訪問你使用的瀏覽器版本資訊
可以在伺服器端獲取該頭的資訊,解決瀏覽器的相容性問題
告訴伺服器,我(當前請求)從**來?
作用:1. 防盜煉:
2. 統計工作:
請求空行
空行,就是用於分割post請求的請求頭,和請求體的。
請求體(正文):
封裝post請求訊息的請求引數的
username=zhangsan響應行
組成:協議/版本 響應狀態碼 狀態碼描述
響應狀態碼:伺服器告訴客戶端瀏覽器本次請求和響應的乙個狀態。
1. 狀態碼都是3位數字
2. 分類:
1. 1xx:伺服器就收客戶端訊息,但沒有接受完成,等待一段時間後,傳送1xx多狀態碼
2. 2xx:成功。代表:200
3. 3xx:重定向。代表:302(重定向),304(訪問快取)
4. 4xx:客戶端錯誤。
* 404(請求路徑沒有對應的資源)
* 405:請求方式沒有對應的do***方法
5xx:伺服器端錯誤。代表:500(伺服器內部出現異常)
響應空行
響應體:傳輸的資料
Servlet生命週期
servlet生命週期分為三個階段 1,初始化階段 呼叫init 方法 2,響應客戶請求階段 呼叫service 方法 3,終止階段 呼叫destroy 方法 servlet初始化階段 1 自動裝載 servlet容器啟動時自動裝載某些servlet,實現它只需要在web.xml檔案中的之間新增1 ...
Servlet生命週期
什麼時候裝載 servlet 1,servlet容器啟動時自動裝載某些servlet,實現它只需要在web.xml檔案中的 之間新增如下 1 2,在servlet容器啟動後,客戶首次向servlet傳送請求。3,servlet類檔案被更新後,重新裝載servlet。2 初始化階段 呼叫init 方法...
Servlet生命週期
1 webclient向servlet容器 tomcat 發出http請求 2 servlet容器接收webclient的請求,建立servlet物件,呼叫其init方法,3 servlet容器建立乙個httprequest物件,將webclient請求的資訊封裝到這個物件中 4 servlet容器...