【重點】初始化過程可知容器對于web.xml的加載過程是context-param >> listener >> fileter >> servlet
首先了解下web.xml中元素的加載順序:
啟動web項目後,web容器首先回去找web.xml檔案,讀取這個檔案
容器會建立一個 ServletContext ( servlet 上下文),整個 web 項目的所有部分都将共享這個上下文
容器将 轉換為鍵值對,并交給 servletContext
容器建立 中的類執行個體,建立監聽器
容器加載filter,建立過濾器, 要注意對應的filter-mapping一定要放在filter的後面
容器加載servlet,加載順序按照 Load-on-startup 來執行
完整加載順序:ServletContext -> context-param -> listener-> filter -> servlet
介紹一下web.xml檔案中常用的标簽以及功能
①:welcome-file-list
index.jsp
index2.jsp
PS:指定了2個歡迎頁面,顯示時按順序從第一個找起,如果第一個存在,就顯示第一個,後面的不起作用。如果第一個不存在,就找第二個,以此類推。
關于歡迎頁面:
通路一個網站時,預設看到的第一個頁面就叫歡迎頁,一般情況下是由首頁來充當歡迎頁的。一般情況下,我們會在web.xml中指定歡迎頁。但 web.xml并不是一個Web的必要檔案,沒有web.xml,網站仍然是可以正常工作的。隻不過網站的功能複雜起來後,web.xml的确有非常大用處,是以,預設建立的動态web工程在WEB-INF檔案夾下面都有一個web.xml檔案。
②:servlet(下面是使用struts1是配置的servlet,并且看得出這裡的ACtionServlet其實是sturts1的核心)
action
org.apache.struts.action.ActionServlet
config
/WEB-INF/struts-config.xml
debug
3
detail
3
③:servlet-mapping(這個也是對應到上面的servlet的servlet-mapping)
action
*.do
經過上面的配置,在servlet中能夠調用getServletConfig().getInitParameter("config")獲得參數名對應的值。
4、指定錯誤處理頁面,可以通過“異常類型”或“錯誤碼”來指定錯誤處理頁面。
404
/error404.jsp
-----------------------------
java.lang.Exception
/exception.jsp
⑤:filter(下面是一個編碼過濾器)
XXXCharaSetFilter
net.test.CharSetFilter
XXXCharaSetFilter
/*
⑥:監聽器listener,用web工程來執行個體化spring容器用的就是一個監聽器
contextConfigLocation
/WEB-INF/ssh.xml
org.springframework.web.context.ContextLoaderListener
⑦:設定會話(Session)過期時間,其中時間以分鐘為機關,假如設定60分鐘逾時:
60