专注Java教育14年 全国咨询/投诉热线:444-1124-454
星辉LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 常用14种web.xml标签总结

常用14种web.xml标签总结

更新时间:2020-11-30 17:42:43 来源:星辉 浏览2803次

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教程中轻松获取哦。


提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>