过滤器是小型的Web组件,它负责拦截请求和响应,以便查看、提取或以某种方式操作正在客户机和服务器之间交换的数据。Servlet过滤器应用非常广泛,有拦截的地方一般都可以用到过滤器。当前Web应用中过滤器已经是不可或缺的部分之一。
2.过滤器的生命周期:
实例化-->初始化-->过滤-->销毁
3.过滤器的接口
与过滤器相关的Servlet共包含3个简单的接口,分别是Filter、FilterChain及FilterConfig。要实现过滤器功能,必须先实现Filter接口。Filter接口定义了3个方法
a.Filter接口的方法
@Override
public void destroy() {
System.out.println("FilterIP 过滤器销毁");
this.fcon = null;
}
/**
* 执行过滤方法
*
* @author admin
* @param request
* 请求对象
* @param response
* 响应对象
* @param chain
* 过滤器对象
*/
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
}
@Override
public void init(FilterConfig config) throws ServletException {
System.out.println("FilterIP 过滤器初始化");
}
4.FilterConfig接口
在初始化过程中,容器使用 FilterConfig 将信息传递给过滤器
FilterConfig 接口包含以下方法:
方法名称 | 功能描述 | |
getFilterName()方法 | 获得过滤器名称 | |
getInitParameter()方法 | 获得初始化参数 |
|
getInitParameterNames()方法 | 获得初始化参数名称数组 | |
getServletContext()方法 | 获得servlet 上下文对象 |