更新時間:2020-11-30 17:42:43 來源:動力節點 瀏覽3357次
web.xml標簽用于聲明xml的版本以及xml傳輸數據時的字符編碼,在XML文件的使用和配置方面發揮著不容忽視的作用,但由于web.xml標簽種類繁多,我們用起來稍有不便,所以,本文就接大家之憂,整理了一些常用14種web.xml標簽,供大家參考學習。
1、web-app
xml文件的根標簽,用于聲明命名空間、schema約束等
XML Namespaces,聲明了命名空間,用于避免命名沖突。
XML Schema Instance,聲明了web.xml所需要遵循的xml規范
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
</web-app>
2、icon
當使用GUI(Graphic User Interface)工具時,
用于指定web應用的圖標,擁有兩個字子標簽,只支持gif和jpg格式
<small-icon></small-icon>
小圖標為 16*16像素
<large-icon></small-icon>
大圖標為 32*32像素
<icon>
<small-icon>/images/xxx.jpg</small-icon>
<large-icon>/images/xxx.jpg</large-icon>
</icon>
3、display-name
當使用GUI(Graphic User Interface)工具時,用于指定web應用的名稱
<display-name>xxxxxxxxxxxxxxx</display-name>
4、description
用于描述web應用的相關信息
<description>xxxxxxxxxxxxxxx</description>
5、distributable
如果在web.xml中指定該標簽,則表示應用程序已經可以部署在分布式的servlet容器中了,即此應用程序可以在多個實例之間分發servlet及會話
只要看web.xml中是否出現該標簽,就可以判斷web項目是否具有分布式的功能
<distributable/>
6、context-param
初始化參數,應用與整個web項目,有兩個子標簽
<param-name></param-name>
可以理解為map中的key
<param-value></param-value>
可以理解為map中的value
在容器啟動時,會創建一個 ServletContext(上下文對象,也可以理解為web應用環境對象),然后會去讀取 context-param 標簽,容器會將 param-name 和 param-value 的值以 key-value 的形式set進ServletContext中。
在servlet中,通過 this.getServletContext().getInitParameter(“key”) 來獲取值value。
<context-param>
<param-name>key</param-name>
<param-value>value</param-value>
</context-param>
7、filter
過濾器,可以對目標資源的請求和響應進行過濾,主要用于 過濾字符編碼,當然你可以自定義過濾器,來處理自己的業務邏輯
<filter-name></filter-name>
過濾器名稱,與下文提到的 filter-mapping 標簽的 filter-name 相對應
<filter-class></filter-class>
過濾器類的完整類名
<init-param></init-param>
filter類的初始化參數,有兩個子標簽
<param-name></param-name>
可以理解為map中的key
<param-value></param-value>
可以理解為map中的value
在filter中,通過 (request.getServletContext().getInitParameter(“key”); 來獲取值value,注意:此處的request為 ServletRequest
8、filter-mapping
過濾器的映射,與 filter 標簽搭配使用,且必須先配置 filter 再配置 filter-mapping,有兩個子標簽
<filter-name></filter-name>
過濾器名稱,與上文提到的 filter 標簽的 filter-name 相對應
<url-pattern></url-pattern>
映射路徑,所有符合該模式的URL都會應用于該過濾器
Spring提供的字符編碼過濾器
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>false</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
9、listener
監聽器,可以用來監聽客戶端的請求,服務端的操作等,常用的監聽器有
ServletContext 監聽器
ServletContextListener
用于對整個Servlet上下文在 創建、銷毀 時進行監聽
ServletContextAttributeListener
用于對Servlet上下文屬性的 增刪改 操作進行監聽
Session 監聽器
HttpSessionListener
用于對Session在 創建、銷毀 時進行監聽
HttpSessionAttributeListener
用于對Session屬性的 增刪改 操作進行監聽
Request 監聽器
ServletRequestListener
用于對Request在 創建、銷毀 時進行監聽
ServletRequestAttributeListener
用于對Request屬性的 增刪改 操作進行監聽
10、servlet
用來聲明一個servlet數據,常用的有以下幾個子標簽
<servlet-name></servlet-name>
servlet名稱,與下文提到的 servlet-mapping 標簽的 servlet-name 相對應
<servlet-class></servlet-class>
servlet類的完整類名
<init-param></init-param>
servlet類的初始化參數,有兩個子標簽
<param-name></param-name>
可以理解為map中的key
<param-value></param-value>
可以理解為map中的value
<load-on-startup></load-on-startup>
當web應用啟動時,用于指定加載servlet的順序
當值 大于等0 時,web容器會按照值大小 從小到大 順序加載
當值 為負或未定義 時,web容器會在首次訪問該servlet時加載它
在servlet中,通過 this.getInitParameter(“key”) 來獲取值value
11、servlet-mapping
servlet的映射,與 servlet 標簽搭配使用,且必須先配置 servlet 再配置 servlet-mapping,有兩個子標簽
<servlet-name></servlet-name>
servlet名稱,與上文提到的 servlet 標簽的 servlet-name 相對應
<url-pattern></url-pattern>
映射路徑,使用該路徑可以訪問到想要訪問的 servlet,可自行定義
<servlet>
<servlet-name>myServlet</servlet-name>
<servlet-class>com.lala.servlet.Login</servlet-class>
<init-param>
<param-name>key</param-name>
<param-value>value</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>myServlet</servlet-name>
<url-pattern>/servlet/abc</url-pattern>
</servlet-mapping>
在頁面上,通過簡單的form表單就可以訪問到對應的servlet
<form action="servlet/abc" method="post">
<input type="submit" value="提交" />
</form>
12、session-config
設置 session 超時時間,單位為分鐘
<session-config>
<session-timeout>30</session-timeout>
</session-config>
13、welcome-file-list
設置歡迎頁,若不設置則會默認訪問 WEB-INF 下的 index.html 頁面
<welcome-file-list>
<welcome-file>index1.html</welcome-file>
<welcome-file>index2.html</welcome-file>
<welcome-file>index3.html</welcome-file>
</welcome-file-list>
當訪問項目時,容器會按順序依次搜索頁面,如果有對應的頁面存在,則顯示該頁面,若都沒匹配到,則會報404錯誤
14、error-page
設置錯誤頁,當404或500或指定異常時可以跳轉至指定頁面,有三個子標簽
<error-code></error-code>
錯誤碼,例如 404, 500等
<exception-type></exception-type>
異常類型,例如 java.lang.NullPointerException(空指針異常)
<location></location>
用來設置錯誤頁
<error-page>
<error-code>404</error-code>
<location>/error_404.html</location>
</error-page>
<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
<location>/error_null.html</location>
</error-page>
以上就是為大家精心挑選的常用14種web.xml標簽,由于web.xml標簽數量眾多,整理起來還是很不容易的,有需要的小伙伴可以收藏一下,以便后期學以致用。當然,還有一些本文中沒介紹到的web.xml標簽,小伙伴們可以在本站的XML教程中輕松獲取哦。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習