· 在要求访问后端资源时拦截它
· 管理从做事器返回给客户真个相应
下面列出了多种常用的过滤器类型:
· 认证过滤器
· 数据压缩过滤器
· 加密过滤器
· 触发资源访问事宜的过滤器
· 图像转换过滤器
· 登录和验证过滤器
· MIME类型链过滤器
· 令牌过滤器
· 转换XML内容的XSL/T过滤器
过滤器将会被插入进web.xml文件中,然后映射servlet、JSP文件的名字,或URL模式。支配描述文件web.xml可以在 <Tomcat-installation-directory>\conf 目录下找到。
当JSP容器启动网络运用程序时,它会创建每一个过滤器的实例,这些过滤器必须在支配描述文件web.xml中声明,并且按声明的顺序实行。
Servlet过滤器方法
一个过滤器便是一个Java类,它实现了javax.servlet.Filter 接口。javax.servlet.Filter接口定义了三个方法:
序号方法 &描述1public void doFilter (ServletRequest, ServletResponse, FilterChain)每当 request/response要通过过滤链时容器会调用这个方法,由于客户端要求链尾的资源2public void init(FilterConfig filterConfig)容器调用这个方法来表明一个过滤器被安置在做事中3public void destroy()容器调用这个方法来表明一个过滤器正在从做事中移除JSP过滤器示例
这个例子将会打印IP地址和每次访问JSP文件的日期韶光。当然,这只是个大略的例子,让您理解一些大略的过滤器用法,但是可以利用这些观点来自行布局更繁芜的程序。
编译LogFilter.java文件,然后将编译后的class文件放在<Tomcat安装目录>/webapps/ROOT/WEB-INF/classes目录下。
web.xml文件中的JSP过滤器映射
过滤器被定义,然后映射成一个URL或JSP文件名,与servlet被定义然后映射的办法差不多。在支配描述文件web.xml中,利用<filter>标签来进行过滤器映射:
上述过滤器将会运用在所有servlet和JSP程序中,由于我们在配置中指定了\"大众 /\"大众。您也可以指定一个servlet或JSP路径,如果您只想要将过滤器运用在少数几个servlet或JSP程序中的话。
现在,像平常一样访问servlet或JSP页面,您就会创造做事器日志中产生了关于这次访问的记录。您也可以利用Log4J记录器来把日志记录在其它文件中。
利用多重过滤器
您的网络运用程序可以定义很多不同的过滤器。现在,您定义了两个过滤器,AuthenFilter和LogFilter,其它的步骤与前面讲的一样,除非要创建一个不同的映射,就像下面这样:
过滤器的运用顺序
在web.xml中<filter>元素的映射顺序决定了容器运用这些过滤器的顺序。要反转运用的顺序,您只须要反转web.xml中<filter>元素的定义顺序就行了。
比如,上面的例子会首先运用 LogFilter然后再运用AuthenFilter,但是下面这个例子将会反转运用的顺序: