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

<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. 如何在IE8设置透明背景

    background:rgba(0,0,0,0.5);filter: progid:DXImageTransform.Microsoft.gradient(startcolorstr=#7F00000 ...

  2. MySQL 同主机不同数据库之间的复制

    MySQL同主机不同数据库的复制命令:注意运行在Terminal中,不运行在MySQL命令行中. mysqldump Portal_DEV -u root -ppassword1 --add-drop ...

  3. pro*c添加SQLCHECK后编译报错PLS-S-00201

    如果在pro*c中调用数据库了里的函数,就需要在proc的cfg配置文件中添加一行: SQLCHECK=SEMANTICS 但是添加之后又会出现PLS-S-00201错误,原因在与添加SQLCHECK ...

  4. C++基础知识(1)----文件操作

    参照 小菜鸟上校 的博客 // file operat.cpp : 定义控制台应用程序的入口点. /*上述例子的主要功能是将一个文件的内容复制到另一个文件中, 这个功能主要由一个函数copy来实现.它 ...

  5. ClearCanvas DICOM 开发系列 一

    概述 C#开源的DICOM server.支持影像处理.影像归档.影像管理.影像传输和影像浏览功能.开源代码可学习地方很多. 官方网站:http://www.clearcanvas.ca buildi ...

  6. POJ 3641 快速幂+素数

    http://poj.org/problem?id=3641 练手用,结果念题不清,以为是奇偶数WA了一发 #include<iostream> #include<cstdio> ...

  7. MorkDown 常用语法总结

    推荐一款很好用的markdown编辑器:http://www.typora.io/ 基本技巧: 代码高亮 如果你只想高亮语句中的某个函数名或关键字,可以使用``实现 通常编辑器根据diamagneti ...

  8. espcms列表页ajax获取内容 - 并初始化swiper

    <link rel="stylesheet" href="swiper.min.css" type="text/css" media= ...

  9. Jquery Ajax处理,服务端三种页面aspx,ashx,asmx的比较

    常规的Jquery Ajax 验证登录,主要有3种服务端页面相应 ,也就是 aspx,ashx,asmx即webserivice . 下面分别用3种方式来(aspx,ashx,asmx)做服务端来处理 ...

  10. block,inline和inline-block对比

    总体概念 block和inline这两个概念是简略的说法,完整确切的说应该是 block-level elements (块级元素) 和 inline elements (内联元素).block元素通 ...