过滤器(Filter)
- 过滤器实际上就是对web资源进行拦截,做一些处理后再交给下一个过滤器或servlet处理
通常都是用来拦截request进行处理的,也可以对返回的response进行拦截处理
大概流程图如下
- 过滤器一般完成一般通用的操作,比如:权限控制,统一编码处理,敏感字符处理等等…
创建Filter
右键包名—>new ---->Web Filter
创建完成后默认代码,可以看到,FilterDemo实现了Filter接口,实现了3个方法。3个方法的作用已经在注释中写清楚了
package com.serlet;
import javax.servlet.*;
import javax.servlet.annotation.*;
import java.io.IOException;
@WebFilter(FilterDemo= "Filter")
public class FilterDemo implements Filter {
public void init(FilterConfig config) throws ServletException {
// 初始化方法
}
public void destroy() {
// 销毁时调用
}
@Override
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws ServletException, IOException {
// 过滤方法,主要是对request和response进行处理,然后交给下一个过滤器或者servlet处理
chain.doFilter(request, response);
}
}