filter: 过滤器
1)Filter 是什么:
javaweb 的一个重要组件
Filter 是实现了 Filter 接口的 java 类
Filter 需要在 Web.xml 文件中进行配置和映射
2) 如何创建一个 Filter, 并让他跑起来
创建一个 Filter 类: 实现 Filter 接口
在 Web.xml 文件中进行配置和映射
3)Filter 相关的 API
1)Filter 接口:
- public void init(FilterConfig filterConfig)
- public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
- {
- chain.doFilter(request, response)// 对 Filter 进行放行
- }
- public void destroy();// 销毁
注: 要理解调用 Filter 的过程
Filter 的案例:
1) 禁用浏览器缓存 (例如每次返回后再次进入页面都要重新加载图片)
- response.setHeader("Cache-Control", "no-cache");
- response.setHeader("Pragma", "no-cache");
- response.setDateHeader("Expires", -1);
- chain.doFilter(request, response);
注: 三行其中一行都可以, 但是不同浏览器的解析会不一样.
2) 字符编码过滤器: 防止中文乱码
- request.setCharacterEncoding("UTF-8");
- chain.doFilter(request, response);
3) 检查用户是否登录
Listener 监听器
来源: http://www.bubuko.com/infodetail-3123819.html