1. 程式人生 > >Tomcat(二) Tomcat實現:Servlet與web.xml介紹 以及 原始碼分析Tomcat實現細節

Tomcat(二) Tomcat實現:Servlet與web.xml介紹 以及 原始碼分析Tomcat實現細節

<web-app> <display-name></display-name> <!--WEB應用的名字 --> <description></description> <!--WEB應用的描述--> <context-param></context-param> <!--context-param元素宣告應用範圍內的初始化引數--> <!--例如指定spring載入多個spring配置檔案--> <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/applicationContext.xml, /WEB-INF/action-servlet.xml </param-value> </context-param> <filter></filter> <!--過濾器將一個名字與一個實現javax.servlet.Filter介面的類相關聯--> <filter-mapping></filter-mapping> <
!--一旦命名了一個過濾器,就要利用filter-mapping元素把它與一個或多個servlet或JSP頁面相關聯--> <listener></listener> <!--事件監聽程式在建立、修改和刪除會話或servlet環境時得到通知。Listener元素指出事件監聽程式類,如Log4j這個廣泛使用的監聽器--> <servlet></servlet> <!--在向servlet或JSP頁面制定初始化引數或定製URL時,必須首先命名servlet或JSP頁面。Servlet元素就是用來完成此項任務的。--> <servlet-mapping></servlet-mapping> <!--伺服器一般為servlet提供一個預設的URL:http://host/webAppPrefix/servlet/ServletName,但是,常常會更改這個URL,以便servlet可以訪問初始化引數或更容易地處理相對URL。在更改預設URL時,使用servlet-mapping元素--> <session-config></session-config> <!--如果某個會話在一定時間內未被訪問,伺服器可以拋棄它以節省記憶體,可通過使用HttpSession的setMaxInactiveInterval方法明確設定單個會話物件的超時值,或者可利用session-config元素制定預設超時值--> <mime-mapping></mime-mapping> <!--如果Web應用具有想到特殊的檔案,希望能保證給他們分配特定的MIME型別,則mime-mapping元素提供這種保證--> <welcome-file-list></welcome-file-list> <!--指示伺服器在收到引用一個目錄名而不是檔名的URL時,使用哪個檔案(其實就是歡迎介面或者說入口介面一般為index.*) --> <error-page></error-page> <!--在返回特定HTTP狀態程式碼時,或者特定型別的異常被丟擲時,能夠制定將要顯示的頁面--> <taglib></taglib> <!--對標記庫描述符檔案(Tag Libraryu Descriptor file)指定別名。此功能使你能夠更改TLD檔案的位置, 而不用編輯使用這些檔案的JSP頁面--> <resource-env-ref></resource-env-ref> <!--宣告與資源相關的一個管理物件--> <resource-ref></resource-ref> <!--宣告一個資源工廠使用的外部資源--> <security-constraint></security-constraint> <!--制定應該保護的URL。它與login-config元素聯合使用--> <login-config></login-config> <!--指定伺服器應該怎樣給試圖訪問受保護頁面的使用者授權,它與sercurity-constraint元素聯合使用--> security-role></security-role> <!--給出安全形色的一個列表,這些角色將出現在servlet元素內的security-role-ref元素的role-name子元素中。分別地宣告角色可使高階IDE處理安全資訊更為容易--> <env-entry></env-entry> <!--宣告Web應用的環境項--> </web-app>