servelt的生命週期(呼叫流程)
呼叫流程
servelt建立後是需要在web.xml裡註冊的:
例如:
<servlet>
<servlet-name>df</servlet-name> <!-- 第三步 -->
<servlet-class>df</servlet-class> <!-- 第四步 -->
</servlet>
<servlet-mapping>
<servlet-name>df</servlet-name> <!-- 第二步 -->
<url-pattern>/servlet/df
</servlet-mapping>
jsp裡通過超連結 訪問 <a href = "/servlet/df"> .
1.超連結裡寫的是servelt的url,也就是<servlet-mapping>裡面的<url-pattern>的值。
2.通過<url-pattern>找到<servlet-mapping>裡對應的<servlet-name>
3.通過<servlet-name>去<servlet>裡面找對應的<servlet-name>(因為<servlet>標籤裡面可以包含很多個servelt,例子裡就一個。)
4.在<servlet>裡通過<servlet-name>找到對應的<servlet-class>。這個就是servelt對應的Java類。
jsp裡有說過,jsp會被轉換成servelt,生成了一個Java類,其實servelt都有其對應的Java類。訪問servelt就是通過web.xml裡的註冊資訊,找到對應的Java類
生命週期:
和jsp頁面的生命週期類似。都是先呼叫init()初始化。
然後請求過來,呼叫service()方法。
根據請求方法,呼叫doGet或者dePost方法。這兩個方法也是建立servelt時需要重寫的(service方法不用重寫,service方法是呼叫這兩個方法)。
最後比如專案終止或者伺服器關閉,呼叫destory()方法。