web.xml之一
首先可以肯定的是,載入順序與它們在 web.xml 檔案中的先後順序無關。即不會因為 filter 寫在 listener 的前面而會先載入 filter。最終得出的結論是:listener -> filter -> servlet
同時還存在著這樣一種配置節:context-param,它用於向 ServletContext 提供鍵值對,即應用程式上下文資訊。我們的 listener, filter 等在初始化時會用到這些上下文中的資訊,那麼 context-param 配置節是不是應該寫在 listener 配置節前呢?實際上 context-param 配置節可寫在任意位置,因此真正的載入順序為:context-param -> listener -> filter -> servlet
對於某類配置節而言,與它們出現的順序是有關的。以 filter 為例,web.xml 中當然可以定義多個 filter,與 filter 相關的一個配置節是 filter-mapping,這裡一定要注意,對於擁有相同 filter-name 的 filter 和 filter-mapping 配置節而言,filter-mapping 必須出現在 filter 之後,否則當解析到 filter-mapping 時,它所對應的 filter-name 還未定義。web 容器啟動時初始化每個 filter 時,是按照 filter 配置節出現的順序來初始化的,當請求資源匹配多個 filter-mapping 時,filter 攔截資源是按照 filter-mapping 配置節出現的順序來依次呼叫 doFilter() 方法的。
servlet 同 filter 類似,此處不再贅述。
由此,可以看出,web.xml 的載入順序是:context-param -> listener -> filter -> servlet ,而同個型別之間的實際程式呼叫的時候的順序是根據對應的 mapping 的順序進行呼叫的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/81227/viewspace-696483/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- web.xml作用WebXML
- web.xml的作用WebXML
- 關於web.xmlWebXML
- web.xml詳解WebXML
- web.xml相關配置WebXML
- websphere中web.xml配置WebXML
- web.xml元素介紹WebXML
- maven專案增加web.xmlMavenWebXML
- Struts2 web.xml(七)WebXML
- web.xml檔案的作用WebXML
- 【原創】Web.xml簡介WebXML
- web.xml配置詳解7WebXML
- web.xml配置詳解6WebXML
- web.xml配置詳解5WebXML
- web.xml配置詳解4WebXML
- web.xml配置詳解3WebXML
- web.xml配置詳解2WebXML
- 不同版本的 web.xml 頭資訊WebXML
- web.xml中的shiroFilter配置WebXMLFilter
- web.xml中的servlet相關WebXMLServlet
- web.xml 的載入過程WebXML
- 在web.xml中配置過濾器WebXML過濾器
- SpringMVC4零配置--web.xmlSpringMVCWebXML
- 如何把web.xml中的*.do改掉?WebXML
- web.xml檔案配置的說明WebXML
- springMVC---配置檔案解析(web.xml)SpringMVCWebXML
- Servlet中關於web.xml的測試ServletWebXML
- 關於WEB.XML的問題,請進WebXML
- web.xml 檔案 配置載入順序WebXML
- Servlet各版本的web.xml頭部資訊-模板ServletWebXML
- 建立Dynamic Web Project沒有web.xml問題WebProjectXML
- 關於Java Web工程中web.xml檔案JavaWebXML
- 使用struts2框架,web.xml怎麼配置框架WebXML
- 詳解web.xml中元素的載入順序WebXML
- maven-war-plugin 外掛 web.xml 缺失時忽略MavenPluginWebXML
- web.xml 中 load-on-startup 引發的思考WebXML
- 如何用程式碼修改struts中的web.xml配置WebXML
- 大家幫我看看,下面寫的是否對。(web.xml)WebXML