`
zachary.guo
  • 浏览: 487829 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

web.xml 文件中的配置节的加载顺序

    博客分类:
  • J2EE
阅读更多
        web.xml 文件中一般包括 servlet, filter, listener 等的配置,那么它们是按照一个什么顺序加载呢?

        首先可以肯定的是,加载顺序与它们在 web.xml 文件中的先后顺序无关。即不会因为 filter 写在 listener 的前面而会先加载 filter。最终得出的结论是:listener -> filter -> servlet

        同时还存在着这样一种配置节:context-param,它用于向 ServletContext 提供键值对,即应用程序上下文信息。我们的 listener, filter 等在初始化时会用到这些上下文中的信息,那么 context-param 配置节是不是应该写在 listener 配置节前呢?实施上 context-param 配置节可写在任意位置,因此真正的加载顺序为:context-param -> listener -> filter -> servlet

        对于某类配置节而言,与它们出现的顺序是有关的。以 filter 为例,web.xml 中当然可以定义多个 filter,与 filter 相关的一个配置节是 filter-mapping,这里一定要注意,对于拥有相同 filter-name 的 filter 和 filter-mapping 配置节而言,filter-mapping 必须出现在 filter 之后,否则当解析到 filter-mapping 时,它所对应的 filter-name 还未定义。web 容器启动时初始化每个 filter 时,是按照 filter 配置节出现的顺序来初始化的,当请求资源匹配多个 filter-mapping 时,filter 拦截资源是按照 filter-mapping 配置节出现的顺序来依次调用 doFilter() 方法的。

        servlet 同 filter 类似,实例化和初始化的时机略有不同,此处不再赘述。具体可以参考:Servlet 的生命周期Filter 的生命周期这两篇文章。
分享到:
评论

相关推荐

    web.xml 中的listener、 filter、servlet 加载顺序及其详解.doc

    这意味着,在 web.xml 文件中,context-param 配置节应该写在 listener 配置节之前,listener 配置节应该写在 filter 配置节之前,filter 配置节应该写在 servlet 配置节之前。 需要注意的是,与某类配置节相关的...

    Tomcat中用web.xml控制Web应用详解

    Tomcat 中 web.xml 文件是 Web 应用的核心配置文件,负责管理 Web 应用的生命周期、Servlet 的加载顺序、Filter 的配置等。下面对 web.xml 文件中的重要元素进行详细解释。 context-param 元素 context-param 元素...

    JSPservlet中web.xml详细配置指南(包含所有情况)

    加载顺序是指 web.xml 文件中的元素出现的顺序,它对 Web 应用程序的行为产生了重要的影响。加载顺序可以分为四个阶段:context-param、listener、filter 和 servlet。其中,context-param 配置节用于提供应用程序上...

    Web.xml加载顺序[汇编].pdf

    《Web.xml加载顺序解析》 在Web应用开发中,`web.xml`是部署描述符,它定义了应用程序的行为和配置。了解`web.xml`的加载顺序对于优化和调试Web应用程序至关重要。本文将深入探讨`web.xml`的加载流程,以及各个元素...

    struts2课件

    这些配置文件中的配置项按照加载顺序依次覆盖,即后加载的文件中的配置可以覆盖前面已经加载过的相同配置。 #### 四、Struts2配置文件详解 1. **`struts.xml`文件中的`package`配置** `struts.xml`文件中的`...

    flex3的cookbook书籍完整版dpf(包含目录)

    从Web服务中把XML译码成为强类型对象 第二十章与浏览器通信(628) 20.1节连接到外部URL 20.2节使用FlashVars 20.3节在Flex里面调用JavaScript函数方法 20.4节在JavaScript中调用ActionScript方法函数 20.5节经由...

    ssh(structs,spring,hibernate)框架中的上传下载

    WEB-INF下的applicationContext.xml为Spring的配置文件,struts-config.xml为Struts的配置文件,file-upload.jsp为文件上传页面,file-list.jsp为文件列表页面。  本文后面的章节将从数据持久层->业务层->Web层的...

    XML链接和文档处理代码

    XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用于数据交换、配置文件以及在Web服务中传输结构化数据。XML文档处理涉及到解析、创建、修改和验证XML文件,而XML链接技术则允许在XML文档之间...

    第二节 struts2配置

    - 除了XML配置外,Struts2还支持使用Java注解来简化配置,如`@Action`、`@Result`等。 10. **Action的参数传递**: - 请求参数可以通过`params`拦截器自动绑定到Action的属性,也可以通过`action`元素的`params`...

    基于注解的spring mvc

    `load-on-startup`属性指定了该Servlet在服务器启动时的加载顺序,而`async-supported`设置为`true`表示支持异步处理。 3. `{servlet name}-servlet.xml`:这个配置文件(如`flex-servlet.xml`)包含了Spring MVC的...

    Quartz-Job-Scheduling-Framework-中文版-V0.9.1.zip

    内容提要:Quartz 从属性文件中加载多个插件类时不能保证加载的顺序,所以本节引入一个自定义的统一按顺序加载其他插件的,名之为插件加载器的东西,其实也就是其他插件类的父亲。 第八章. 使用 Quartz 插件 (第五...

    ASP.NET的网页代码模型及生命周期

    创建一个单文件页模型,在【文件】按钮中选择【新建文件】选项,在弹出对话框中选择【Web窗体】或在右击当前项目,在下拉菜单中选择【添加新建项】选项即可创建一个.aspx页面,如图4-2所示。 图4-2 创建单文件页...

    Spring Boot进阶实践1

    配置文件的加载顺序遵循特定规则,依次是`@TestPropertySource`注解、命令行参数、Java系统属性、操作系统环境变量和应用默认配置。这种顺序使得开发者可以根据不同环境动态调整配置。 配置文件的覆盖机制允许我们...

    richFaces帮助文档

    可以通过`web.xml`文件配置一系列参数来定制行为。 ##### 4.2 Sun JSF RI 对于Sun JSF RI,需要配置特定的初始化参数。 ##### 4.3 Apache MyFaces 使用Apache MyFaces时,可能还需要配置其他参数以启用特定功能...

    研磨Struts2

    零配置意味着在某些情况下可以不编写struts.xml配置文件,而是通过注解或者其他方式来配置Action。 #### 15.2 零配置的实现 - **注解配置**:通过在Action类上添加注解来代替配置文件。 - **自动扫描**:Struts2...

Global site tag (gtag.js) - Google Analytics