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

<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. oracle with as 用法

    http://blog.itpub.net/28371090/viewspace-1190141/

  2. PopupWindow事件分发冲突解决

    这些为了点击非PopupWindow区域,PopupWindow会消失的,如果没有下面的代码的话,你会发现,当你把PopupWindow显示出来了,无论你按多少次后退键PopupWindow并不会关闭 ...

  3. IntelliJ中的main函数和System.out.println()快捷键

    1.在IntelJ中和Eclipse中稍有不同,在Eclipse中,输入main再按Alt+/即可自动补全main函数,但是在IntellJ中则是输入psvm,选中即可 2.在方法体内部有for循环, ...

  4. 高性能图片服务器–ZIMG

    2011年李彦宏在百度联盟峰会上就提到过互联网的读图时代已经到来1,图片服务早已成为一个互联网应用中占比很大的部分,对图片的处理能力也相应地变成企业和开发者的一项基本技能.需要处理海量图片的典型应用有 ...

  5. linux回收站设计

    linux回收站设计 在windows下有一个很好的东西,那就是回收站,虽然有很多人批评它.linux不是没有回收站,很多桌面环境都可以看到是有回收站的. 这里是讨论如何设计一个回收站,而不是有没有的 ...

  6. dropify插件的字符串

    1.可以拖拽图片进行上传. 2.使用起来方便. 3.不能进行视频与其他文件的上传,只能上传图片. 4.其余都像普通<input type="file">. 5.在dro ...

  7. fastx_toolkit去除测序数据中的接头和低质量的reads

    高通量测序数据下机后得到了fastq的raw_data,通常测序公司在将数据返还给客户之前会做"clean"处理,即得到clean_data.然而,这些clean_data是否真的 ...

  8. jsp自定义标签(时间格式化包括Long转时间)

    1.jsp自带标签的格式化: jstl fmt 函数大全:主要针对格式化功能 Tags   fmt:requestEncoding fmt:setLocale fmt:timeZone fmt:set ...

  9. Unity3d《Shader篇》漫反射

    Unity3d<Shader篇>漫反射 Shader "Custom/Ambient" { Properties { _MainTex ("Base (RGB ...

  10. java web 学习 --第八天(Java三级考试)

    第七天的学习内容:http://www.cnblogs.com/tobecrazy/p/3464231.html EL表达式 EL : Expression Language 使用EL表达式可以减少& ...