`

web.xml里<filter-mapping>中的<dispatcher>感化

 
阅读更多
在看urlrewrite设备的时辰发明web.xml中有dispather这个设备的选项,收藏一下这个属性的用法:转自http://hintcnuie.iteye.com/blog/226251

2.4版本的servlet规范在属下描述符中新增长了一个<dispatcher>元素,这个元素有四个可能的值:即REQUEST,FORWARD,INCLUDE和ERROR,可以在一个<filter-mapping>元素中参加随便率性数量标<dispatcher>,使得filter将会感化于直接从客户端过来的request,经由过程forward过来的request,经由过程include过来的request和经由过程<error-page>过来的request。若是没有指定任何< dispatcher >元素,默认值是REQUEST。可以经由过程下面几个例子来帮助懂得。
例1:
Xml代码  收藏代码

   

<filter-mapping>  
    <filter-name>Logging Filter</filter-name>  
    <url-pattern>/products/*</url-pattern>  
    </filter-mapping> 



这种景象下,过滤器将会感化于直接从客户端发过来的以/products/…开端的恳求。因为这里没有制订任何的< dispatcher >元素,默认值是REQUEST。

例2:
Xml代码  收藏代码

  
<filter-mapping>  
    <filter-name>Logging Filter</filter-name>  
    <servlet-name>ProductServlet</servlet-name>  
    <dispatcher>INCLUDE</dispatcher>  
    </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代码  收藏代码

  
<filter-mapping>  
    <filter-name>Logging Filter</filter-name>  
    <url-pattern>/products/*</url-pattern>  
    <dispatcher>FORWARD</dispatcher>  
    <dispatcher>REQUEST</dispatcher>  
    </filter-mapping> 



在这种景象下,若是恳求是以/products/…开首的,并且是经由过程request dispatcher的forward办法传递过来或者直接从客户端传递过来的,则必须经过这个过滤器。(责任编辑:admin)
分享到:
评论

相关推荐

    web.xml中的mime-type标签作用与使用

    ### Web.xml中的MIME-Type标签作用与使用详解 在Java Web开发中,`web.xml`配置文件扮演着至关重要的角色。它定义了Web应用程序的基本结构和行为,包括Servlet的映射、过滤器、监听器等配置。其中,`mime-mapping`...

    tomcat httpHeaderSecurity.jar

    在tomcat下的conf里的web.xml中增加以下过滤器 &lt;filter&gt; &lt;filter-name&gt;httpHeaderSecurity&lt;/filter-name&gt; &lt;filter-class&gt;org.apache.catalina.filters.HttpHeaderSecurityFilter&lt;/filter-class&gt; &lt;async-supported...

    xml里filter-mapping中的dispatcher的使

    ### XML中的filter-mapping与dispatcher使用详解 在Java Web开发中,过滤器(Filter)是十分重要的组件之一,主要用于处理客户端请求或响应服务器反馈时的数据处理任务,如编码转换、登录验证、敏感词过滤等。而在...

    cors-filter-1.7.jar,cors-filter-2.5.jar,cors-filter-2.10.jar

    将这些jar包放入Tomcat的`lib`目录下,然后在`web.xml`配置文件中添加filter和filter-mapping,定义过滤器的类名以及其在请求处理链中的位置。例如,添加如下配置: ```xml &lt;filter&gt; &lt;filter-name&gt;CorsFilter...

    tomcat跨域访问

    &lt;filter-mapping&gt; &lt;filter-name&gt;CORSFilter&lt;/filter-name&gt; &lt;url-pattern&gt;/*&lt;/url-pattern&gt; &lt;/filter-mapping&gt; ``` 这将使CORS过滤器应用到所有URL。 2. **配置过滤器参数**:CORS过滤器需要一些配置来指定...

    web.xml详解(web-app_2_3.dtd)

    &lt;description&gt;A simple shopping cart application built using JSP and Servlets.&lt;/description&gt; ``` #### 4. `distributable`元素 `distributable`元素用于指示Web应用程序是否支持分布式部署。如果设置了此元素...

    web.xml文件中各个标签的介绍

    例如:&lt;filter-mapping&gt;&lt;filter-name&gt;CocoSystemAuthFilter&lt;/filter-name&gt;&lt;url-pattern&gt;firstServlet(servlet 名称)&lt;/url-pattern&gt;或者 URL 模式&lt;url-pattern&gt;/*.do(URL 字符串)&lt;/url-pattern&gt;&lt;/filter-mapping&gt; ...

    cors-filter-1.7.jar java-util-1.9.1.jar

    &lt;filter-mapping&gt; &lt;filter-name&gt;CORS&lt;/filter-name&gt; &lt;url-pattern&gt;/*&lt;/url-pattern&gt; &lt;/filter-mapping&gt; ``` 这里,`filter-name`是过滤器的标识,`filter-class`是CORSFilter的全限定类名。 3. **定制CORS...

    详解Spring mvc的web.xml配置说明

    除了以上提到的配置,`web.xml`还可以包含错误页面定义、安全配置(如`&lt;security-constraint&gt;`)、本地化支持(`locale-encoding-mapping-list`)等。正确的配置有助于提升应用程序的性能、安全性和可维护性。理解并...

    cors-filter-1.7.jar 和 java-property-utils-1.9.jar

    然后,你需要在Web应用的配置文件(如`web.xml`)中定义一个Filter,这个Filter负责处理CORS请求。以下是一个简单的配置示例: ```xml &lt;filter&gt; &lt;filter-name&gt;CorsFilter&lt;/filter-name&gt; &lt;filter-class&gt;...

    web.xml配置文件详解

    &lt;description&gt;A simple Java web application.&lt;/description&gt; &lt;!-- 配置环境参数 --&gt; &lt;context-param&gt; &lt;param-name&gt;db.url&lt;/param-name&gt; &lt;param-value&gt;jdbc:mysql://localhost:3306/mydb&lt;/param-value&gt; &lt;/...

    web.xml详细说明

    5. **`&lt;filter-mapping&gt;`** - **作用**:将过滤器与特定的资源(如servlet或JSP页面)进行关联。 - **示例**: ```xml &lt;filter-mapping&gt; &lt;filter-name&gt;LoginFilter&lt;/filter-name&gt; &lt;url-pattern&gt;/admin/*&lt;/url...

    Filter过滤器的代码及其web.xml配置代码

    在这个主题中,我们将深入理解Filter的使用方法以及如何在`web.xml`中进行配置。 首先,Filter的工作原理是基于Servlet规范中的请求链模型,当用户发送请求到服务器时,Filter会先于Servlet拦截请求,执行预定义的...

    struts.xml和applicationContext.xml、web.xml的配置

    &lt;servlet-class&gt;org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter&lt;/servlet-class&gt; &lt;/servlet&gt; &lt;servlet-mapping&gt; &lt;servlet-name&gt;struts2&lt;/servlet-name&gt; &lt;url-pattern&gt;/*&lt;/url-pattern&gt; ...

    web.xml文件中配置(servlet, spring, filter, listenr)的加载顺序

    ### web.xml文件中配置(servlet, spring, filter, listener)的加载顺序 在Java Web应用开发中,`web.xml`文件是整个Web应用程序的核心配置文件之一,它定义了Servlet容器如何启动、初始化以及配置各个组件如...

    Web.xml常用元素

    #### &lt;filter-mapping&gt; - **作用**:将过滤器与特定的servlet或JSP页面关联起来。 - **示例**: ```xml &lt;filter-mapping&gt; &lt;filter-name&gt;MyFilter&lt;/filter-name&gt; &lt;url-pattern&gt;/*&lt;/url-pattern&gt; &lt;/filter-...

    用web.xml控制Web应用的行为

    使用`&lt;mime-mapping&gt;`元素定义文件扩展名与其对应的MIME类型,如`&lt;mime-mapping&gt;&lt;extension&gt;pdf&lt;/extension&gt;&lt;mime-type&gt;application/pdf&lt;/mime-type&gt;&lt;/mime-mapping&gt;`。 13. **定位TLD** `&lt;taglib&gt;`元素用于指定...

    DWR所需要的包与基本web.xml

    &lt;filter-mapping&gt; &lt;filter-name&gt;dwr-invoker-filter&lt;/filter-name&gt; &lt;url-pattern&gt;/dwr/*&lt;/url-pattern&gt; &lt;/filter-mapping&gt; &lt;servlet&gt; &lt;servlet-name&gt;dwr-invoker&lt;/servlet-name&gt; &lt;servlet-class&gt;org....

    cors-filter-1.7.jar,java-property-utils-1.9.jar

    &lt;filter-mapping&gt; &lt;filter-name&gt;CorsFilter&lt;/filter-name&gt; &lt;url-pattern&gt;/*&lt;/url-pattern&gt; &lt;/filter-mapping&gt; ``` 以上配置允许所有来源的请求,并且支持多种HTTP方法。当然,这只是一个基础示例,实际生产环境中...

    web.xml加载顺序与web.xml常用节点解析

    - `&lt;servlet&gt;`和`&lt;servlet-mapping&gt;`:定义Servlet及其URL映射,与过滤器类似,Servlet的加载和处理请求的顺序也遵循`web.xml`中的顺序。 - `&lt;listener&gt;`:定义监听器类,可以监听Web应用程序的特定事件,如`...

Global site tag (gtag.js) - Google Analytics