web容器加載感悟

今天在看代碼時順便對以前的一個是懂非懂的問題再理解了下,雖然還是不能確定完全正確,還是要小記一下:
web容器啓動時的步驟是:
1、啓動一個WEB項目的時候,WEB容器會去讀取它的配置文件web.xml,讀取<listener>和<context-param>兩個結點。 
2、緊接着,容創建一個ServletContext(servlet上下文),這個web項目的所有部分都將共享這個上下文。 
3、容器將<context-param>轉換爲鍵值對,並交給servletContext。 
4、容器創建<listener>中的類實例,創建監聽器。 

web.xml 的加載順序是:context-param -> listener -> filter -> servlet 

在我們的項目裏面有一個針對不同環境的.properties 文件,裏面是放的對於不同環境的一些配置,這些文件會在我們的profiles文件裏面對應引用。所以也會在install 或package時編譯到我們對應的配置文件裏面。

但是我發現還有些.xml文件是在web.xml 的<context-param>上下文參數中定義的,容器將<context-param>轉換爲鍵值對,並交給servletContext,這些變量值可以在我們的程序裏面通過註解的方式引用,因爲這些是存在我們整個web項目的。

所以在配置自己的參數時得首先明白那些參數時要在編譯的時候就要賦予的值,那些參數是在應用程序裏面要用到的值。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章