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

Filter过滤器在Web.xml中几个标签说明

    博客分类:
  • java
阅读更多

<!-- 定义Filter -->
<filter>
<!-- Filter的名字 -->
<filter-name>log</filter-name>
<!-- Filter的实现类 -->
<filter-class>lee.LogFilter</filter-class>
</filter>
<!-- 定义Filter拦截的URL地址 -->
<filter-mapping>
<!-- Filter的名字 -->
<filter-name>log</filter-name>
<!-- Filter负责拦截的URL 全部以/的请求,如果<url-pattern>/*.action </>,将会以拦截*.action的请求-->
<url-pattern>/*</url-pattern>
</filter-mapping>

在Servlet2.4中filter-mapping中加入了新的标签<dispatcher> ,里面有4个值即REQUEST, FORWARD,INCLUDE和ERROR,默认不写这个标签的时候是REQUEST,该标签是根据客户端传过来的地址进行过滤,FORWARD方法传过来的request方法可以拦截,<ERROR-PAGE>错误页面传过来的拦截,INCLUDE包含过来的过滤,一般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方法传递过来或者直接从客户端传递过来的,则必须经过这个过滤器。
分享到:
评论

相关推荐

    web.xml配置详解

    DOCTYPE 声明中包含了几个特性,告诉我们关于 DTD 的信息,如 web-app 定义该文档的根元素、PUBLIC 意味着 DTD 文件可以被公开使用、DTD 由 Sun Microsystems, Inc. 维护等。 web.xml 文件的根元素是 web-app,DTD...

    web.xml+详细解析.rar

    `web.xml`文件主要负责以下几个方面: - **初始化参数**:为Servlet或整个应用设置初始化参数。 - **Servlet定义**:注册Servlet并指定其映射路径。 - **过滤器与过滤器链**:定义过滤器,并配置过滤规则。 - *...

    web.xml文件的详细说明.txt

    下面将详细介绍`web.xml`中常见的几个主要元素及其作用。 #### 三、关键元素解析 ##### 1. `&lt;display-name&gt;` 和 `&lt;description&gt;` - **`&lt;display-name&gt;`**:定义Web应用的名称,这个名称可以用于日志记录或显示在...

    sruts2.0 web.xml 配置文件

    在Struts2中,`web.xml`通常包含以下几个关键配置元素: 1. **欢迎页面(Welcome-file-list)**:定义当用户访问没有明确资源路径的Web应用时,服务器将展示的默认页面。 2. **Filter(过滤器)**:Struts2使用`...

    web.xml详解.txt

    过滤器 `&lt;filter&gt;` 标签 ``` &lt;filter&gt; &lt;filter-name&gt;FilterName&lt;/filter-name&gt; &lt;filter-class&gt;com.example.FilterClass&lt;/filter-class&gt; &lt;/filter&gt; ``` - **`filter-name`**:过滤器的名称。 - **`filter-class`...

    java web项目 web.xml配置详解

    在Java Web开发中,`web.xml`文件是应用的核心配置文件,它定义了Servlet、过滤器、监听器等组件,并负责映射它们的行为。本文将深入解析`web.xml`配置,帮助开发者理解其背后的原理和用途。 一、web.xml文件概述 `...

    SSH和SSI等框架常用基础配置web.xml

    `web.xml`文件通常包含以下几个主要元素: 1. **`web-app`标签**:这是`web.xml`的根元素。 2. **`display-name`标签**:定义应用程序的显示名称。 3. **`context-param`标签**:定义全局配置参数。 4. **`filter`...

    web.xml.txt

    根据提供的文件信息,我们可以深入探讨以下几个关键的知识点: ### 1. web.xml 文件的作用与结构 #### 1.1 web.xml 文件概述 `web.xml` 是一个 XML 文件,用于配置 Java Web 应用程序中的各种组件和服务。它是 ...

    Tomcat(二) Tomcat实现:Servlet与web.xml介绍 以及 源码分析Tomcat实现细节1

    在web.xml中,你可以通过`&lt;filter&gt;`和`&lt;filter-mapping&gt;`元素定义过滤器。当请求匹配到过滤器映射时,Tomcat会创建一个过滤器链,并按顺序调用每个过滤器的`doFilter()`方法。过滤器可以决定是否继续调用下一个过滤...

    Tomcat web.xml,server.xml中详细配置说明文档

    本文档将深入探讨Tomcat中的两个核心配置文件:`web.xml`和`server.xml`,并提供详细的配置说明和实例。 ### 一、Tomcat介绍 1.1 **Tomcat简介** Tomcat是开源的Servlet容器,它实现了Java Servlet和JavaServer ...

    部署描述文件web.xml配置详解.doc

    `web.xml`文件以XML格式编写,主要包括以下几个部分: 1. **XML声明**:指定了XML文档的版本及字符编码方式。 ```xml &lt;?xml version="1.0" encoding="ISO-8859-1"?&gt; ``` 2. **DOCTYPE声明**:指定了文档类型...

    web.xml文件详解

    接下来,我们将深入探讨`web.xml`文件中常用的几个关键标签及其用途。 #### 1. `&lt;display-name&gt;`标签 `&lt;display-name&gt;`标签用于指定Web应用的显示名称,这在管理控制台中非常有用,便于识别和管理不同的应用。例如...

    Filter过滤器(分类讨论,分类讲解)

    本篇文章主要介绍了Java Web开发中Filter过滤器的概念及其使用方法。通过示例代码详细展示了如何编写和配置一个简单的Filter来解决字符集乱码问题。理解Filter的工作机制有助于开发者更好地利用这一功能来增强Web...

    过滤器文档过滤器使用中的方法过滤器.pdf

    过滤器的执行顺序由它们在`web.xml`中的配置顺序决定。如果存在多个过滤器,它们会按照注册的映射顺序依次处理请求。如果一个过滤器决定阻止请求,那么后续的过滤器和目标Servlet都不会收到这个请求。 总结起来,...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    第20章 filter在web开发中的应用 588 20.1 过滤器概述 588 20.2 filter api 589 20.2.1 filter接口 589 20.2.2 filterconfig接口 590 20.2.3 filterchain接口 590 20.3 过滤器的部署 591 20.4 过滤器的开发 ...

    Spring手动生成web.xml配置文件过程详解

    此外,还可以在web.xml中配置过滤器(Filter)以实现如GZIP压缩、字符编码转换等功能,以及监听器(Listener)来管理应用的生命周期。 **步骤一:** 创建一个新的Spring项目后,我们需要找到项目的结构。在IDE(如...

    Filter(过滤器)简介和工作原理

    在Java Web开发中,Filter(过滤器)是Servlet API中的一个重要组成部分,它允许开发者在请求被发送到目标资源(如Servlet、JSP页面)之前和之后进行处理。Filter可以用来实现诸如数据校验、字符编码转换、登录检查...

    管道过滤器程序,主要用java实现

    在Java中,实现管道过滤器通常涉及以下几个关键知识点: 1. **Filter接口**:这是所有过滤器组件需要实现的接口,定义了处理数据的方法,例如`filter()`。每个过滤器类都需实现此接口,提供其特定的处理逻辑。 2. ...

Global site tag (gtag.js) - Google Analytics