在http協議的請求頭中獲取到要訪問的資源,查找web.xml文件找到對應的servelet
Sevlet的生命周期
Servlet在第一次被訪問的時候,服務器創建出Servlet對象,創建出對象以後會直接調用init方法做初始化操作,創建出的對象會一直駐留在內存中為對這個Servlet的訪問服務,每次對這個Servlet的訪問都會導致service方法執行,當web應用被移除出容器時或者服務器被關閉時,隨著web應用的銷毀Servlet會被銷毀,在銷毀之前,服務器會調用Servlet的destroy方法做一些善後的工作
每次調用service()方法的時候,會傳遞進來兩個參數:Request對象,Response對象
Request對象裡面包含 http請求頭和實體內容
Response對象是空的
調用Response對象的getWriter().write()方法,往Response對象中寫入內容
服務器把Response對象中的內容組織成Http協議返回給浏覽器
Servlet的繼承結構
Servlet——接口定義了Servlet應該具有的基本方法
|——GenericServlet 通用基本Servlet實現,把service方法設計為抽象方法,需要子類去實現
|——HttpServlet實現了父類中的service方法,判斷當前的請求方式,調用對應的doXXX方法,需要子類去繼承並覆蓋對應的doGet()或者doPost()方法
Servlet的細節
一個<servlet>可以對應多個<servlet-mapping>
<url-partten>中可以使用*匹配符,由於*的引入,有可能一個路徑被多個url-partten匹配,優先級:哪個最像找哪個,*.後綴 的優先級最低
在<servlet>下面可以配置<load-on-start-up>可以用來指定啟動順序