如果要映射过滤应用程序中所有资源:

<filter>

   <filter-name>loggerfilter</filter-name>

   <filter-class>myfilter.LoggerFilter</filter-class>

</filter>

<filter-mapping>

   <filter-name>loggerfilter</filter-name>

   <url-pattern>/*</url-pattern>//访问当前主机,当前应用程序根下的所有文件包括多级子目录下的所有文件,注意这里*前有“/”

</filter-mapping>

2.过滤指定的类型文件资源

<filter>

   <filter-name>loggerfilter</filter-name>

   <filter-class>myfilter.LoggerFilter</filter-class>

</filter>

<filter-mapping>

   <filter-name>loggerfilter</filter-name>

   <url-pattern>*.html</url-pattern>//访问当前主机,当前应用程序根目录下的所有html文件,注意:*.html前没有“/”,否则错误



</filter-mapping>

其中*.html要过滤jsp那么就改*.html为*.jsp,但是注意没有“/”斜杠

如果要同时过滤多种类型资源:

方法一:url-pattern分开写

<filter>

   <filter-name>loggerfilter</filter-name>

   <filter-class>myfilter.LoggerFilter</filter-class>

</filter>

<filter-mapping>

   <filter-name>loggerfilter</filter-name>

   <url-pattern>*.html</url-pattern>

</filter-mapping>

<filter-mapping>

   <filter-name>loggerfilter</filter-name>

   <url-pattern>*.jsp</url-pattern>//访问当前主机,当前应用程序根目录以所有及子目录下的所有jsp文件

</filter-mapping>

方法二、将url-pattern 合并

  <filter>

   <filter-name>loggerfilter</filter-name>

   <filter-class>myfilter.LoggerFilter</filter-class>

</filter>

<filter-mapping>

   <filter-name>loggerfilter</filter-name>

   <url-pattern>*.html;*.jsp</url-pattern>

</filter-mapping>
//*.html;*.jsp两类型之间用分号“;”间隔

3.过滤指定的目录下的所有文件

<filter>

   <filter-name>loggerfilter</filter-name>

   <filter-class>myfilter.LoggerFilter</filter-class>

</filter>

<filter-mapping>

   <filter-name>loggerfilter</filter-name>

   <url-pattern>/folder_name/*</url-pattern>//访问当前主机,当前应用程序根目录下的folder_name子目录(可以是多级子目录)下所有文件

</filter-mapping>

4.过滤指定的servlet

<filter>

   <filter-name>loggerfilter</filter-name>

   <filter-class>myfilter.LoggerFilter</filter-class>

</filter>

<filter-mapping>

   <filter-name>loggerfilter</filter-name>

   <servlet-name>loggerservlet</servlet-name>

</filter-mapping>

<servlet>

   <servlet-name>loggerservlet</servlet-name>

   <servlet-class>myfilter.LoggerServlet</servlet-class>

</servlet>

5.过滤指定文件(即单一文件)

<filter>

   <filter-name>loggerfilter</filter-name>

   <filter-class>myfilter.LoggerFilter</filter-class>

</filter>

<filter-mapping>

   <filter-name>loggerfilter</filter-name>

   <url-pattern>/simplefilter.html</url-pattern>

</filter-mapping>

6、过滤指定目录下的指定类型的所有文件

这种情况下,在web.xml中无法一次性配置完成,需要结合filter的实现类

首先,在web.xml中配置过滤指定目录下的所有文件(如上3)

<filter>

   <filter-name>loggerfilter</filter-name>

   <filter-class>myfilter.LoggerFilter</filter-class>

</filter>

<filter-mapping>

   <filter-name>loggerfilter</filter-name>

   <url-pattern>/dir_name/*</url-pattern>

</filter-mapping>

然后,在filter的实现类中的doFilter方法中获取请求的uri或者url,判断uri或者url中是否包含指定文件类型的字符串,决定是否过滤

//获得用户请求的uri

    String uri =request.getRequestURI();

if(uri.contains(".jsp")||uri.contains(".html"))

       {

         System.out.println("开始过滤"+url);

      }

7、过滤指定目录下指定类型的单一文件

<filter>

   <filter-name>loggerfilter</filter-name>

   <filter-class>myfilter.LoggerFilter</filter-class>

</filter>

<filter-mapping>

   <filter-name>loggerfilter</filter-name>

   <url-pattern>/dir_name/index.jsp</url-pattern>

</filter-mapping>

以上都要注意是否有斜杠“/”

原文出处:http://blog.sina.com.cn/s/blog_7ffb8dd501013hqc.html

jsp 过滤器 Filter 配置的更多相关文章

  1. JSP过滤器Filter配置过滤类型汇总

    一.配置方法1 映射过滤应用程序中所有资源<filter>    <filter-name>loggerfilter</filter-name>    <fi ...

  2. servlet和jsp页面过滤器Filter的作用及配置

    刚刚有个朋友问我,Servlet的过滤器有什么作用? 现在发个帖子说明一下,            过滤器是一个对象,可以传输请求或修改响应.它可以在请求到达Servlet/JSP之前对其进行预处理, ...

  3. SpringBoot2.x过滤器Filter和使用Servlet3.0配置自定义Filter实战

    补充:SpringBoot启动日志 1.深入SpringBoot2.x过滤器Filter和使用Servlet3.0配置自定义Filter实战(核心知识) 简介:讲解SpringBoot里面Filter ...

  4. 网站过滤器Filter

    实际上,Filter与Servlet及其相似,区别只是FIlter的doFilter()方法里多了一个FilterChain的参数,通过该参数可以控制是否放行用户的请求.网站有了过滤器十分的方便,可以 ...

  5. Servlet的过滤器Filter

    Servlet 编写过滤器 Servlet 过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息. 可以将一个或多个 Servlet 过滤器附加到一个 Servlet 或一组 Serv ...

  6. selvert的过滤器filter处理中文乱码

    注意问题:在学习用selvert的过滤器filter处理中文乱码时,在filter配置初始化时用了utf-8处理中文乱码,而在提交的jsp页面中却用了gbk.虽然两种都可以出来中文乱码,但是却造成了处 ...

  7. JSP入门 Filter

    Filter,它的名字是过滤器,可以批量拦截修改servlet的请求和响应. 需要实现接口Filter 配置 <filter> <filter-name>EncodingFil ...

  8. java之过滤器Filter

    Java三大器之过滤器(Filter)的工作原理和代码演示   一.Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术之一,WEB开发人员通过Filter技术,对w ...

  9. 过滤器Filter与监听器Listener

    过滤器Filter 过滤器也是一种servlet   它也可以对用户的请求进行处理  , 但是他所做的处理,只是一些轻量级的处理.Fileter就好像jsp页面与servlet之间的一道关卡,如果这个 ...

随机推荐

  1. 《Lua程序设计 第二版》学习笔记一

    Lua简介 Lua是一种简单.可拓展.可移植及高效的脚本语言. 开始 Lua之间不需要分隔符 运行方式: Linux下: lua -i prog dofile("lib1.lua" ...

  2. HDU 1085 Holding Bin-Laden Captive!(DP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1085 解题报告:有1,2,5三种面值的硬币,这三种硬币的数量分别是num_1,num_2,num_5, ...

  3. Distinct Subsequences Leetcode

    Given a string S and a string T, count the number of distinct subsequences of T in S. A subsequence ...

  4. [POJ2892]Tunnel Warfare

    [POJ2892]Tunnel Warfare 试题描述 During the War of Resistance Against Japan, tunnel warfare was carried ...

  5. 联合主键用Hibernate注解映射的三种方式

    第一.将联合主键的字段单独放在一个类中,该类需要实现java.io.Serializable接口并重写equals和hascode,再将该类注解为@Embeddable,最后在主类中(该类不包含联合主 ...

  6. spring边边角角

    我们在使用ssh框架的时候,很多人抱怨为什么之前都运行得好好的,第二天就报错了,我也是被这个问题纠结了很久. 我们来看看spring的配置文件: <?xml version="1.0& ...

  7. (集成电路卡)ID卡

    IC卡(intergrated Circuit Card,集成电路卡),又称为智能卡,智慧卡,微电路卡,微芯片卡 等等. 它是将一个微电子芯片嵌入符合ISO 7816标准的卡基中,做成卡片形状. IC ...

  8. 架构Android App总结

    历时两个多月,自己架构的一个App快要完成了,有很多可以总结的地方: 1, 各个模块尽可能独立,不要直接调用,用消息机制解耦.包括页面跳转不要直接startActivity,而是用消息跳转:业务模块请 ...

  9. 微博地址url(id)与mid的相互转换 Java版

    原理: 新浪微博的URL都是如:http://weibo.com/2480531040/z8ElgBLeQ这样三部分. 第一部分(绿色部分)为新浪微博的域名,第二部分(红色部分)为博主Uid,第三部分 ...

  10. django的序列化

    关于django的序列化主要应用在将数据库中检索的数据返回给客户端用户,特别的Ajax请求一般返回的Json格式 两种方法: 方法一:serializers: 缺点就是只能应用于对象 "&q ...