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

<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. C++笔试题(转)

    http://blog.csdn.net/hxz_qlh/article/details/16864567 这里面列举的题考察的东西都非常细,包括strcpy,字符串,大.小端的判断,很容易犯错,值得 ...

  2. 单臂路由与三层交换机实现VLAN通信

    不同VLAN之间相互通信的两种方式 (单臂路由.三层交换) 试验环境:东郊二楼第三机房 试验设备:Catalyst 2950-24(SW3)                   Cisco 2611( ...

  3. 开源中国git使用方法

    1.添加公匙. 打开开源中国git公匙管理 用TortoiseGit  Puttygen生成公匙文件  生成过程中  不断移动点击鼠标(因为生成密匙过程是记录鼠标变化作为加密过程)           ...

  4. zend studio安装svn插件

    进入zend->Help->Install New Software 输入如下地址: http://subclipse.tigris.org/update_1.8.x 选择subclips ...

  5. trac中wiki直接显示任务代码

    = 我的任务 = [[TicketQuery(max=10,owner=$USER, status!=closed|verified|cancelled, order=id,desc=1,format ...

  6. CDN——到底用还是不用?

    最近在学bootstrap,在知乎上搜索bootstrap看到有人问bootstrap基础包体积较大,对性能影响会不会很大,看到两种方法来减少对性能的影响: 有选择地部分加载,bootstrap带有L ...

  7. Unity3d运行时动态修改材质

    void Start () { const string MainTexVariableName = "_MainTex"; var renders = gameObject.Ge ...

  8. javascript 解析dom字符串

    知识要求:1:熟悉dom结构层次(如childNodes,nodeType,parent,children)等. 2:熟悉jq对象转换js 对象,反之 毕竟不是专业js人.借助第3方框架.其实jq也是 ...

  9. MySQL binlog 组提交与 XA(分布式事务、两阶段提交)【转】

    概念: XA(分布式事务)规范主要定义了(全局)事务管理器(TM: Transaction Manager)和(局部)资源管理器(RM: Resource Manager)之间的接口.XA为了实现分布 ...

  10. 欧洲杯 2016 高清直播 - 观看工具 UEFA-EURO-2016-Play.7z

    OnlineTV-MPlayer-nocache.exe 占 CPU 内存 较少 OnlineTV-FFPlay.exe 可截取图像 UEFA-EURO-2016-Play-v5.7z UEFA-EU ...