web.xml各个元素含义

本文介绍了web.xml的作用及其在web容器启动过程中的加载顺序。详细解释了各个标签如<listener>、<context-param>等的功能和用途。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

web.xml作用:是web项目的配置文件,java很多东西在服务器启动的时候要加载到内存中,web.xml可以配置这些要加载的文件。

web容器的加载顺序:

1、启动web项目,web容器会读取web.xml,读取<listener>和<context-param>两个节点。

2、容器建立一个ServletContext(servlet上下文),这个web项目的所有部分将共享这个上下文

3、容器将<context-param>转换为键值对,并交给servletContext

4、容器创建<listener>中的类实例,创建监听

 

schema:web.xml的模式文件是由Sun公司定义的,每个web.xml的根元素<web-app>中,都必须标明这个web.xml使用的是哪个模式文件。其它的元素都放在<web-app><web-app>之中。

<display-name>:web应用名称,用于标记这个特定个web应用的名称。

<discription>:web应用描述。

<context-param>:上下文参数,声明应用范围内的初始化参数。用于向Servlet+Context提供键值对,及上下文信息。后续的listener,filter在初始化时会用到这些上下文信息。在Servlet里面可以通过getServletContext().getIntParameter("context/param")得到。

<filter>:过滤器,可以认为是servlet的一种加强版,主要用于对用户请求request进行预处理,也可以对response进行后处理,是个典型的处理链。使用filter的完整流程是,filter对用户请求进行预处理,接着将请求HTTPServletRequest交给Servlet处理并生产响应。最后filter再对服务器响应HttpServletResponse进行后处理。(filter的生命周期和servlet的生命周期是一样的,它们都提供了init(FilterConfig arg0)和destroy()方法来控制。当web容器启动的时候,就会自动调用init(FilterConfig arg0)来对filter进行初始化)filter也可以通过<init-para>进行初始化参数的配置,并通过filterConfig传送给filter。

<listerner>:监听器

<servlet>:运行在web服务器或应用服务器上的程序,作为来自web服务器或者其他htttp客户端的请求和http服务器上的数据库或应用程序之间的中间层。

<session-config>:回话超时配置

<welcome-file-list>:欢迎文件页

<jsp-config>:设置jsp

<error-page>:错误页面

 

web.xml 是 JavaWeb 应用程序的配置文件之一,用于配置 Web 应用程序的部署描述符。它位于 WEB-INF 目录,对于每个 Web 应用程序都是唯一的。 不同版本的 Java Servlet 规范定义了不同的 web.xml 格式和元素。下面是各个版本的 web.xml 的常见格式和元素: 1. Servlet 2.2: 这个版本的 web.xml 使用的是 DTD(Document Type Definition)方式进行定义。常见元素包括:servlet、servlet-mapping、session-config、mime-mapping 等。 2. Servlet 2.3: 这个版本的 web.xml 仍然使用 DTD 方式进行定义,但增加了一些新的元素,如: filter、filter-mapping、listener 等。 3. Servlet 2.4: 这个版本开始使用 XSD(XML Schema Definition)方式进行定义。除了保留之前版本的元素外,还增加了一些新的元素,如: welcome-file-list、error-page 等。 4. Servlet 2.5: 这个版本继续使用 XSD 方式进行定义,增加了一些新的元素,如: dispatcher、jsp-config 等。 5. Servlet 3.0: 这个版本引入了注解驱动开发,允许使用注解来配置 Servlet、Filter 和 Listener,减少了对 web.xml 的依赖。但 web.xml 仍然可以使用,并增加了一些新的元素,如: async-supported、session-config、welcome-file-list 等。 6. Servlet 3.1: 这个版本在之前版本的基础上进行了一些调整和增强,包括对 HTTP 请求和响应的配置、对 WebSocket 和异步处理的支持等。 需要注意的是,不同的 Servlet 容器可能对 web.xml 的支持和规则有所差异,具体可以参考对应 Servlet 容器的文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值