Filter 过滤器
过滤器实际上就是对web
资源进行拦截, 做一些处理后再交给下一个过滤器或servlet
处理
通常都是来拦截request
进行处理 也可以对response
进行拦截处理
通常用来进行一些通用的配置 比如一些 权限认证或 登录验证或乱码处理
快速上手
- 创建类
implements Filter
接口 - 重写抽象方法
doFilter
- 触发过滤器
//销毁
public void destroy() {
}
//每次访问 执行一次
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
//放行 解除阻塞状态
//如果不放行 将不执行真正路由里的内容
chain.doFilter(req, resp);
}
//初始化
public void init(FilterConfig config) throws ServletException {
}
判断拦截路由
在类的上面加一行注解
@webServlet("/*")// 监听所有路由
@webServlet("/user/*")// 监听/user路由下的所有路由
@webServlet("*.jsp")// 监听所有后缀名是 jsp 的路由
Filter 生命周期
初始化init()
当程序执行是会进行filter的初始化
但是只执行一次 相当于出生
销毁destroy()
当程序结束时会进行销毁
只执行一次 相当于结束