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

<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. Memcached和Redis对比和适用场景

    关于memcached和redis的使用场景,根据大神们的讨论和我在网上查到的资料,总结一下: 两者对比: redis提供数据持久化功能,memcached无持久化: redis的数据结构比memca ...

  2. sass兼容IE8透明度方法

    你可以轻松的利用 {Sass::Script::Functions#ie_hex_str ie_hex_str} 函数对其做转换.$translucent-red: rgba(, , , 0.5); ...

  3. Java多线程基础知识(五)

    一. Java中的13个原子操作类 在Jdk1.5中,这个包中的原子操作类提供了一种用法简单,性能高效,线程安全的更新一个变量的方式. 1. 原子更新基本类型类 AtomicBoolean : 原子更 ...

  4. BZOJ1146——[CTSC2008]网络管理Network

    1.题目大意:就是在动态的树上路径权值第k大. 2.分析:这个就是树链剖分+树套树 #include <cstdio> #include <cstdlib> #include ...

  5. thinkphp的各种内部函数 D()、F()、S()、C()、L()、A()、I()

    D() 加载Model类 M() 加载Model类 A() 加载Action类 L() 获取语言定义 C() 获取配置值    用法就是   C("这里填写在配置文件里数组的下标" ...

  6. PyQt4自定义事件

    listview控件与updateText 相关联 self.listview.updateText.connect(self.viewlist)   updateText = QtCore.pyqt ...

  7. Spring框架学习[IoC容器高级特性]

    1.通过前面4篇文章对Spring IoC容器的源码分析,我们已经基本上了解了Spring IoC容器对Bean定义资源的定位.读入和解析过程,同时也清楚了当用户通过getBean方法向IoC容器获取 ...

  8. yum install 安装时报yum doesn't have enough cached data to continue.

    yum install 安装时报yum doesn't have enough cached data to continue. 安装epel,yum -y install epel-release后 ...

  9. Linux下cp -rf总是提示覆盖的解决办法

    通常情况下使用cp -rf进行文件或者文件夹的管理时一般就不再提醒是否覆盖.然而在内网的一台机器上使用cp -rf却提示是否覆盖.难道和常用的命令不同? [root@xxxx test]# cp -r ...

  10. mysql的innodb中事务日志ib_logfile

    mysql的innodb中事务日志ib_logfile事务日志或称redo日志,在mysql中默认以ib_logfile0,ib_logfile1名称存在,可以手工修改参数,调节开启几组日志来服务于当 ...