更新时间:2020-11-30 17:42:43 来源:极悦 浏览2952次
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天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习