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