1. 程式人生 > >06-碼蟻JavaWeb之Servlet生命週期與基本配置

06-碼蟻JavaWeb之Servlet生命週期與基本配置

學習地址:[撩課-JavaWeb系列1之基礎語法-前端基礎](https://study.163.com/course/introduction/1005537028.htm)[撩課-JavaWeb系列2之XML](https://study.163.com/course/introduction/1005981002.htm)[撩課-JavaWeb系列3之MySQL](https://study.163.com/course/introduction/1005932016.htm)[撩課-JavaWeb系列4之JDBC](https://study.163.com/course/introduction/1005977005.htm)[撩課-JavaWeb系列5之web伺服器-idea](https://study.163.com/course/introduction/1005981003.htm

Servlet生命週期

Servlet什麼時候被建立 1.預設情況下第一次訪問的時候建立 2.可以通過配置檔案設定伺服器啟動的時候就建立

`init()`
    servlet物件建立的時候呼叫
    預設第一次訪問時建立
`service()`
    每次請求都會執行一次
`destroy()`
    servlet物件銷燬的時候執行
    預設伺服器關閉時銷燬
`load-on-startup配置`
    物件在伺服器啟動時就建立
    值為數字代表優先順序
    資料越小,優先順序越高,不能為負數

Servlet配置資訊

初始化引數

<init-params>
    <init-name>名稱</init-name>
    <init-value>值</init-value>
    config引數
        該servlert的配置資訊
        獲得web.xml當中引數
        初始化引數
        獲取servletContext物件

url-patten

1.完全匹配
        
2.目錄匹配
        
3.副檔名匹配

預設Servlet

訪問的資源不存在時,就會找預設的地址
<url-patten>/</url-patten>]

全域性Web.xml

對於部署在伺服器上的所有應用都有效
先到自己工程當中找web.xml配置
再到全域性web.xml當中去找配置
如果兩個當中有相同的配置
自己當中配置的內容會生效

靜態資源載入過程

path後面寫的靜態資源名稱index.html
或者是其它的.html
它都是會找ur-patten當中
有沒有匹配的內容

如果有,就載入對應的servlet
如果沒有
就到自己配置當中
找預設的url-patten

如果自己配置檔案當中
沒有預設的
就會找全域性配置預設的url-patten

在全域性配置當中
有一個預設的url-patten 
對應的是default的Servlet
defaultServlet內部
會到當前訪問的工程根目錄當中
去找對應的名稱的靜態資源

如果有,
就把裡面的內容逐行讀出。
響應給瀏覽器。
如果沒有,就會報404錯誤

歡迎頁面

Welcome-file-list
不寫任何資源名稱的時候,會訪問歡迎頁面
預設從上往下找