j2ee容器物件載入順序及優先順序概述

來源:互聯網
上載者:User

標籤:j2ee   優先順序   listener   filter   servlet   

一、概述

  • web容器中,主要以三個容器物件的生命週期為導向,分別為:Listener/Filter/Servlet。總體概圖如下:

    同時,還存在著這樣一種配置節點:context-param,它用於向 ServletContext 提供索引值對,即應用程式上下文資訊。我們的 listener, filter 等在初始化時會用到這些上下文中的資訊,載入順序如:

①、載入Servlet時,分兩種情況:啟動時載入、懶載入。

  • 啟動時載入
    只需在配置Servlet的時候加上節點<load-on-startup>1</load-on-startup>,其中,值越小,優先順序越高。(特別注意:最小值為0,負值時認為是懶載入)
  • 懶載入
    即容器完成啟動,響應對應第一次請求時對指定的Servlet進行初始化。對應啟動載入情況,如果沒有配置節點資訊(load-on-startup)或者改節點資訊為負值時對應懶載入。

②、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() 方法的。

③、Listener

  • web.xml 中聲明的先後順序即為載入順序。

j2ee容器物件載入順序及優先順序概述

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.