JAVA过滤器(学习自用)
一、什么是过滤器?
客户端与服务器资源之间的一种过滤技术。
二、过滤器的作用?
1)可以在请求到达 Servlet 之前或响应返回客户端之前对请求和响应进行处理。
2)可以解决多个Servlet共性代码的冗余问题(如乱码处理,登录验证)
三、过滤器的生命周期?
在类上面添加注解@WebFilter("/login")并implements Filter即可创建一个过滤器类,然后重写里面的三个生命周期方法。
1)init()
作用:过滤器被实例化后,由容器调用一次,用于初始化过滤器。
用途:加载资源,初始化配置。
2)doFilter()
作用:每次请求或相应经过过滤器时被调用。
用途:修改请求或相应的内容、执行权限验证、记录日志
调用chain.doFilter(request,response)可以将请求传递给下一个过滤器或目标servlet。
3)destory()
作用:在过滤器即将销毁时被调用。
用途:释放资源。
四、过滤器的执行顺序
1)可以使用web.xml配置:<filter>的编写顺序即是执行顺序。
2)可以使用@Order(1)注解的形式:将该注解添加到@WebFilter上面,值越小越先执行。