欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

java web压缩过滤器_Java Web过滤器Filter(五)

发布时间:2025/4/5 java 54 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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(五)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。