`
lxz891117
  • 浏览: 33343 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

web.xml元素fileter-mapping里的dispatcher子元素的作用

 
阅读更多

http://bluestar.iteye.com/blog/544195

在2.4版本的servlet规范在部属描述符中新增加了一个<dispatcher>元素,这个元素有四个可能的值:即REQUEST,FORWARD,INCLUDE和ERROR,可以在一个<filter-mapping>元素中加入任意数目的<dispatcher>,使得filter将会作用于直接从客户端过来的request,通过forward过来的request,通过include过来的request和通过<error-page>过来的request。如果没有指定任何<dispatcher>元素,默认值是REQUEST。可以通过下面几个例子来辅助理解。

例1:
Xml代码 收藏代码
  1. <filter-mapping>
  2. <filter-name>LoggingFilter</filter-name>
  3. <url-pattern>/products/*</url-pattern>
  4. </filter-mapping>


这种情况下,过滤器将会作用于直接从客户端发过来的以/products/…开始的请求。因为这里没有制定任何的<dispatcher>元素,默认值是REQUEST。

例2:

Xml代码 收藏代码
  1. <filter-mapping>
  2. <filter-name>LoggingFilter</filter-name>
  3. <servlet-name>ProductServlet</servlet-name>
  4. <dispatcher>INCLUDE</dispatcher>
  5. </filter-mapping>


这种情况下,如果请求是通过request dispatcher的include方法传递过来的对ProductServlet的请求,则要经过这个过滤器的过滤。其它的诸如从客户端直接过来的对ProductServlet的请求等都不需要经过这个过滤器。
指定filter的匹配方式有两种方法:直接指定url-pattern和指定servlet,后者相当于把指定的servlet对应的url-pattern作为filter的匹配模式,filter的路径匹配和servlet是一样的,都遵循servlet规范中《SRV.11.2 Specification of Mappings》一节的说明。

例3:

Xml代码 收藏代码
  1. <filter-mapping>
  2. <filter-name>LoggingFilter</filter-name>
  3. <url-pattern>/products/*</url-pattern>
  4. <dispatcher>FORWARD</dispatcher>
  5. <dispatcher>REQUEST</dispatcher>
  6. </filter-mapping>


在这种情况下,如果请求是以/products/…开头的,并且是通过request dispatcher的forward方法传递过来或者直接从客户端传递过来的,则必须经过这个过滤器。

分享到:
评论

相关推荐

    net-fileter.tar.gz_net_fileter

    标题中的"net-fileter.tar.gz_net_fileter"表明这是一个与网络过滤相关的压缩文件,后缀为".tar.gz",这是Linux/Unix系统中常见的压缩格式,用于打包多个文件或目录。"net_fileter"可能是该项目或工具的名称,强调其...

    java过滤器简单实例

    Java过滤器(Filter)是Java Web开发中的一个重要概念,它主要应用于Servlet容器中,如Tomcat、Jetty等。过滤器允许我们在请求被处理之前或之后进行预处理和后处理,以此来拦截、修改或者增强请求和响应。在这个简单...

    java的过滤器

    在实际应用中,过滤器的配置通常在`web.xml`部署描述符中完成,通过`&lt;filter&gt;`和`&lt;filter-mapping&gt;`元素定义过滤器及其映射。例如: ```xml &lt;filter-name&gt;authFilter&lt;/filter-name&gt; &lt;filter-class&gt;...

    Filter

    3. **配置Filter**:在Web应用的`web.xml`配置文件中,可以通过`&lt;filter&gt;`和`&lt;filter-mapping&gt;`元素定义Filter,指定其拦截哪些URL模式。 4. **Filter应用场景**:Filter可以用于日志记录、权限验证、字符编码转换...

    fileter.java

    上传图片的servlet的简单代码,只有servlet的代码。

    Fileter:一个简单的文件分类器

    在`Fileter-main`这个压缩包中,包含了Fileter的主要源代码和其他相关资源。开发者可以借此深入理解Fileter的工作原理,并可能对其进行二次开发,增加更多功能或者适配其他操作系统。 总的来说,Fileter是一款实用...

    ChromeCacheView

    Added fileter by file type. (text/html, image, audio, video, application) Version 1.05 New option in 'Copy Selected Files To...': Save the files in the directory structure of the Web site. Version ...

    Fileter过滤器简介

    这里面是我个人整理的一些关于Fileter过滤器的知识和个人理解

    网页中中文乱码问题和用户权限控制(使用fileter实现)

    网页中中文乱码问题和用户权限控制(使用fileter实现) 最基本的实现方法,如果还没有涉及具体用户权限框架的同学可以先参考参考,毕竟是其他实现框架,如Struts2和Spring Acegi的实现基础。

    report 开源的访问层中间件,基于java平台

    b)引入spring文件 spring/ankang-report.xml,web.xml依赖springMVC配置 c)继承ReportStart类, @Component//通过spring注入 可设置为单例 public class BusinessReportConfig extends ReportStart { @Override ...

    Filter应用程序

    对于这样的压缩包,开发者通常会期望找到具体的Filter实现,包括配置文件(如web.xml)中的Filter声明,以及相应的Filter类源码,这些源码会展示如何定义和使用Filter来完成特定任务。 总结: Filter应用程序是软件...

    java-utf8编码统一filter

    java-utf8编码统一filter,使用过滤器统一更改字符集为utf8

    python- 笔记 高阶函数map reduce fileter

    `reduce()` 函数主要用于对一个序列中的所有元素进行累积操作,它接受一个函数和一个序列,函数需要接受两个参数,`reduce()` 将这个函数从序列的第一个元素开始,将结果与下一个元素进行累积计算,直到序列结束。...

    filter_liter

    在IT领域,驱动程序是操作系统与硬件设备之间的重要桥梁,它们负责翻译操作系统的指令,使得硬件设备能够理解和执行。在Windows系统中,一种特殊的驱动程序类型是文件系统过滤驱动(File System Filter Driver),...

    spring-filter:使用简单的查询语法动态过滤JPA实体。 提供JPAHibernate谓词和Spring规范

    只需将我添加到您的pom.xml 。 您的API将获得功能全面的搜索功能。 您不使用API​​吗? 没问题,您可能仍然不想弄乱SQL,JPA谓词,安全性以及所有这些我猜想的东西。 从技术角度来看,我尝试将简单的语法编译为JPA...

    DirectShow(流媒体播放器)

    2. 熟悉DirectShow的过滤器和连接线概念,了解它们在播放流程中的作用。 3. 实践编写简单的播放程序,例如使用GraphEdit工具构建和调试过滤图。 4. 学习如何处理媒体文件的读取和解码,以及渲染过程。 5. 掌握错误...

    如何在Oracle816 Spatial上编程(PPT 18).pptx

    - 考虑使用子查询、物化视图和分区策略来提升查询效率。 7. **错误处理和调试**: - 在编程过程中,需要处理可能出现的错误,如网络连接问题、数据格式错误、SQL语法错误等,并确保在出错时有适当的错误处理机制...

    SOR_点云去噪声_

    点云去噪声是三维计算机视觉领域的一个重要环节,它涉及到数据预处理,旨在提高点云数据的质量,消除由于测量误差、传感器噪声或环境因素引入的不精确信息。在这个项目中,我们将探讨如何利用Python实现这一过程。...

Global site tag (gtag.js) - Google Analytics