java web压缩过滤器_Java Web过滤器Filter(五)
Filter概述
Filter意为滤镜或者过滤器,用于在Servlet之外对request或者response进行修改。Filter提出滤镜链的概念,一个FilterChain包括多外Filter。客户端请求request在抵达Servlet之前会经过FilterChain里的所有Filter,服务器响应response在从Servlet抵达客户端浏览器之前会经过FilterChain里的所有Filter。Filter处理过程如下:
Filter像是客户端浏览器与服务器端之间的一层滤网。
Filter接口
一个Filter必须实现javax.servlet.Filter接口。
public class MyFilter implements Filter {
public void init(FilterConfig config) throws ServletException{}
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOExcepton, ServletException{
System.out.println(“request被处理之前…”);
chain.doFilter(request, response);
System.out.println(“request被处理之后,response抵达客户端浏览器之前……”)
}
public void destroy() {}
}
注:chain.doFilter(request, response)将request递交给FilterChain中的下一个Filter,如果所有Filter都走完了则交给Servlet。
Filter配置
配置到达servlet的方式,有4种取值:REQUEST、FORWORD、INCLUDE、ERROR。如果没配置默认为REQUEST。
Filter经典案例
Filter可以处理如:权限验证、日志记录、数据压缩、数据加密、格式转换、图像处理等工作。
防盗链Filter(其它网端访问本站图片,将会显示错误图片)
字符编码Filte(这个只处理POST提交请求的编码)
对于GET请求还需要修改Tomcat的/conf/server.xml
添加URIEncoding=”UTF-8”
日志记录Filter(日志可拆卸)
异常捕捉异常Filter
如果在chain.doFilter(request, response)上加上try…catch语句,就能捕捉Servlet中抛出的可预料的与不可预料的异常,然后根据不同异常进行不同异常处理。
权限验证Filter
Java Web程序一般使用session或者cookie来记录用户是否登录,以及该用户的权限。
内容替换Filter
GZIP压缩Filter
图像水印Filter
缓存Filter
XSLT转换Filter
Filter是一种很有弹性的机制,功能很强大,而且与servlet、JSP等没有任何耦合,可自由拆卸。Filter是现在流行的AOP(Aspect Orainted Programming,面向切面编程)思想的一种体现。
喜欢 (0)or分享 (0)
总结
以上是生活随笔为你收集整理的java web压缩过滤器_Java Web过滤器Filter(五)的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 平安银行外包转正条件
- 下一篇: java项目中怎么查看用的序列_如何在J