1. 程式人生 > >servelt的生命週期(呼叫流程)

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

</url-pattern> <!-- 第一步 -->
</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()方法。