`

java的四种过滤器

    博客分类:
  • Java
阅读更多

2.4版本的servlet规范在部属描述符中新增加了一个<dispatcher>元素,这个元素有四个可能的值:即REQUEST,FORWARD,INCLUDE和ERROR,可以在一个<filter-mapping>元素中加入任意数目的<dispatcher>,使得filter将会作用于直接从客户端过来的request,通过forward过来的request,通过include过来的request和通过<error-page>过来的request。如果没有指定任何<   dispatcher   >元素,默认值是REQUEST。可以通过下面几个例子来辅助理解。  
  例1:  
  <filter-mapping>  
  <filter-name>Logging   Filter</filter-name>  
  <url-pattern>/products/*</url-pattern>  
  </filter-mapping>  
  这种情况下,过滤器将会作用于直接从客户端发过来的以/products/…开始的请求。因为这里没有制定任何的<   dispatcher   >元素,默认值是REQUEST。  
   
  例2:  
  <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:  
  <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方法传递过来或者直接从客户端传递过来的,则必须经过这个过滤器。

分享到:
评论

相关推荐

    JAVA过滤器 过滤器

    JAVA过滤器 过滤器JAVA过滤器 过滤器JAVA过滤器 过滤器JAVA过滤器 过滤器JAVA过滤器 过滤器JAVA过滤器 过滤器JAVA过滤器 过滤器JAVA过滤器 过滤器JAVA过滤器 过滤器JAVA过滤器 过滤器

    java * Repeatable 过滤器 * Repeatable 过滤器 * Repeatable 过滤器

    java * Repeatable 过滤器 * Repeatable 过滤器 * Repeatable 过滤器java * Repeatable 过滤器 * Repeatable 过滤器 * Repeatable 过滤器java * Repeatable 过滤器 * Repeatable 过滤器 * Repeatable 过滤器java * ...

    过滤器(java编写的过滤器)

    在Java Web开发中,过滤器(Filter)是一种非常重要的技术组件,它可以在请求到达目标资源(如Servlet或JSP页面)之前或之后执行某些操作。过滤器可以用来实现各种功能,如用户认证、权限检查、编码转换、日志记录等。...

    Java过滤器,字符过滤,标签过滤

    首先,让我们了解一下Java过滤器的基础知识。在Java Servlet规范中,Filter接口定义了过滤器的行为。一个过滤器可以通过实现`doFilter()`方法来拦截请求和响应,并对其进行处理。通过在web.xml配置文件中定义过滤器...

    JAVA过滤器标准代码

    ### JAVA过滤器标准代码解析与应用 在Java Web开发中,过滤器(Filter)是一种用于拦截请求和响应的重要机制,可以实现对用户请求的预处理和后处理,以及对响应的处理。本文将深入解析“JAVA过滤器标准代码”,探讨...

    Java中配置过滤器

    在Java Web开发中,过滤器(Filter)是一种非常重要的机制,它可以在请求到达目标资源之前或响应返回客户端之后执行特定的操作。例如,可以使用过滤器来实现统一的编码设置、安全控制、日志记录等功能。 #### 一、...

    java非法字符过滤器

    虽然此过滤器提供了一种有效的方法来处理非法字符,但在高并发或大数据量的场景下,其性能表现值得进一步优化。例如,可以考虑使用正则表达式或者构建更为高效的查找数据结构(如Trie树)来加速非法字符的检测过程。...

    java中五种常用的过滤器

    本文将详细介绍标题提及的五种常用过滤器,并提供相关实现代码,帮助理解它们的工作原理和用途。 一、使浏览器不缓存页面的过滤器 在Web开发中,有时我们需要确保每次请求都能获取最新的页面内容,防止浏览器缓存...

    Java自定义过滤器

    在Java Web开发中,过滤器(Filter)是一种非常实用的功能,它可以对用户请求进行预处理或对响应进行后处理。通过配置过滤器,开发者可以在不修改任何现有代码的情况下增强应用程序的功能。本篇文章将围绕“Java...

    java字符过滤器,过滤器

    Java过滤器就是为了解决这些问题,确保数据在处理过程中保持正确的编码格式。 在Java中,字符乱码通常是由于字符编码不一致导致的。例如,一个以UTF-8编码的文件被误认为是GBK编码来读取,就会出现乱码现象。为了...

    Java几个过滤器学习技巧

    在Java Web开发中,过滤器(Filter)是一种非常实用的功能组件,它可以对用户的请求或响应进行预处理或后处理。通过实现`javax.servlet.Filter`接口,开发者可以自定义过滤器来执行特定的操作。本文将详细介绍两个...

    六个有用的java过滤器

    ### 六个有用的Java过滤器知识点详解 在Java Web开发中,过滤器(Filter)是一种非常重要的技术,它能够对用户的请求和响应进行预处理或后处理,从而实现各种功能需求,例如设置缓存策略、登录验证、字符编码转换等...

    基于Java的脏字过滤器设计

    本文提出了一种基于Java的脏字过滤器设计,旨在检测网络中不良的内容,避免这些不良网络文化侵蚀青少年的心灵健康。该设计的主要目的是为了保护青少年免受不良网络文化的影响,培养他们的爱国意识、创新精神和良好的...

    accp java过滤器 PPT

    Java过滤器(Filter)是Java Web开发中的一个重要概念,它主要应用于Servlet容器中,如Tomcat、Jetty等。在ACCP课程中,这个“accp java过滤器 PPT”很可能是为了帮助学习者深入理解如何在Web应用程序中有效地使用...

    java中文过滤器

    在Java Web开发中,"java中文过滤器"是一种常见的技术,用于处理B/S(Browser/Server)架构下中文字符编码的问题。在B/S系统中,数据通常通过HTTP协议在网络间传输,而HTTP协议默认并不规定字符编码,这可能导致在...

    java 常用过滤器

    下面将详细讲解Java中五种常用的过滤器及其应用场景。 1. **使浏览器不缓存页面的过滤器** 这种过滤器主要用于防止浏览器对Web页面进行缓存,确保每次请求都能获取最新的内容。`ForceNoCacheFilter` 实现了 `javax...

    java过滤器

    java过滤器java过滤器java过滤器java过滤器

    javaFilter自定义编码过滤器

    * FilterChain 接口:FilterChain 接口是 Java 中的一种过滤器链接口,用于将多个过滤器连接起来,以便实现链式调用。它提供了一个 doFilter() 方法,用于执行下一个过滤器。 二、自定义编码过滤器 在上面的代码中...

    java过滤器的使用

    总之,Java过滤器提供了一种强大的机制,允许我们在Web应用的请求处理流程中插入自定义逻辑,从而增强应用的功能和控制权。在处理中文乱码问题时,正确设置请求和响应的字符编码是至关重要的,而过滤器正为此提供了...

    用Java多线程写管道过滤器

    使用Java多线程实现管道过滤器,本文档写了六个线程,五个管道,内容很简单,如果想要复杂功能请手动添加。

Global site tag (gtag.js) - Google Analytics