Filter(过滤器)
来源:互联网 发布:java中私有属性 编辑:程序博客网 时间:2024/06/05 20:04
一、Filter作用:
- 1.先于Servlet获取并处理请求数据。
- 2.后于Servlet获取并处理响应数据。
二、Filter种类:
- 1.日志Filter:请求和响应数据写入日志。
- 2.编码Filter:对数据进行编解码。
- 3.用户授权的Filter:检查请求,过滤非法请求。
三、使用Filter两步:
- 1.Filter类实现;
- 2.web.xml中注册Filter。
四、过滤器的处理链: 1.过滤器先于Servlet处理请求 ->2.Servlet处理请求和响应 ->3.过滤器后于 Servlet处理响应。
LogFilter(日志过滤器):将请求和响应的信息记录在日志中。
public class LogFilter implements Filter { private FilterConfig config;// FilterConfig可用于访问Filter的配置信息 // 实现初始化方法 public void init(FilterConfig config) { this.config = config; } // 实现销毁方法 public void destroy() { this.config = null; } // 过滤器处理数据的核心方法 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
ServletContext context = this.config.getServletContext();//获取ServletContext对象,用于写日志 long before = System.currentTimeMillis();
//----------1.先于Servlet处理请求---------
System.out.println("过滤开始...");
context.log("请求地址为: " + ((HttpServletRequest) request).getServletPath());// 请求信息写入日志
//----------2.继续往下传递request对象和response对象,交给Servlet处理---------
chain.doFilter(request, response);
//----------3.后于Servlet处理响应---------
context.log("响应字符编码为:"+response.getCharacterEncoding());// 响应信息写入日志
long after = System.currentTimeMillis();
context.log("过滤结束... 处理时间为: " + (after - before)); }
}
阅读全文
0 0
- 过滤器(Filter)
- PHP 过滤器(Filter)
- PHP 过滤器(Filter)
- PHP 过滤器(Filter)
- 中文过滤器(Filter)
- Filter(过滤器)
- Filter(过滤器)简介
- 过滤器(filter)helloworld
- 过滤器(filter)helloworld
- PHP 过滤器(Filter)
- Filter(过滤器)
- Servlet过滤器(Filter)
- Servlet Filter(过滤器)
- Servlet Filter(过滤器)
- Servlet Filter(过滤器)
- Servlet过滤器(Filter)
- Servlet过滤器(Filter)
- PHP ----过滤器(Filter)
- 第一阶段第三天(数据类型,运算符)
- Java学习笔记-《Java程序员面试宝典》-第四章基础知识-4.1基本概念(4.1.3)
- 使用Linux系统开发php程序(如:ubuntu)
- 基于python的添加和删除安全组的脚本
- 堆排序 C++
- Filter(过滤器)
- JVM面试题
- Button相关学习
- EasyUI实现地址联动,显示默认值
- LIBRARY_PATH 和 LD_LIBRARY_PATH 的关系
- tomcat下配置https环境(windows环境)
- Win7打开文件提示快捷方式存在问题的解决方法
- rgb2ind函数
- 杭电acm:HDU 2700 Parity