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教程中轻松获取哦。
web.xml是Tomcat工程中最重要的配置文件,当启动一个Web项目时,容器包括(JBoss、Tomcat等)首先会读取项目web.xml配置文件里的配置,当这一步骤没有出错并且完成之后,项目才能正常地被启动起来。那么如此重要的Web.xml文件配置到底是怎样的呢?本文就来为大家揭晓答案,Web.xml文件配置共分为14步,下面我们一起学习。
XML是一种用于标记电子文件使其具有结构性的标记语言。XML在不同的语言环境中解析方式都是一样的,只不过实现的语法不同而已。说到4种XML的解析方式,有很多的知识点跟大家分享和讨论,本文我们就来探讨一下Java中的4种XML的解析方式,分别是那些?有什么用途等。
随着Web应用的不断发展,HTML的局限性也越来越明显地显现了出来,如HTML无法描述数据、可读性差、搜索时间长等,于是,人们又把目光转向SGML,在此基础之上XML应运而生。那么XML和HTML之间到底有什么区别呢?本文就来为大家揭晓答案。
事实上,约束在Java中是很常见的,但是我们很少去思考为什么需要用到约束呢?比如我们现在定义一个student.xml文件,我们想要在其中保存关于学生的信息,例如id,name,age,但是如果随便写入一个标签例如<你好>,从语法的角度上虽然是符合规范的,但是这显然与我们想要存储的东西没有任何关系,所以我们需要通过XML约束技术,约束XML中只能出现的元素。
IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境,它所提倡的是智能编码,是减少程序员的工作
jQuery是一个快速、简洁的JavaScript框架
Docker 是一个基于 Go 语言 并遵从 Apache2.0 协议开源的应用容器引擎,让开发者可以打包应用到一个可移植的镜像中
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目
Java SE(Java Platform, Standard Edition,Java标准版),基础进阶
Java SE(Java Platform, Standard Edition,Java标准版),零基础入门
动力节点在线报名表(此信息已加密,请放心填写)