过滤器学习教程:
1.https://tianweili.github.io/2015/01/26/Java%E4%B8%AD%E7%9A%84Filter-%E8%BF%87%E6%BB%A4%E5%99%A8/
2.http://www.cnblogs.com/jianjianyang/p/5001471.html
3.https://www.jianshu.com/p/cd2b02ce9bee
一:filter
1.filter 场景:URL级别的权限访问控制、过滤敏感词汇、压缩响应信息
2.filter功能:
a. 在HttpServletRequest 到达 Servlet 之前,拦截客户的 HttpServletRequest 。根据需要检查 HttpServletRequest ,也可以修改HttpServletRequest 头和数据。
b. 在HttpServletResponse 到达客户端之前,拦截HttpServletResponse 。根据需要检查 HttpServletResponse ,也可以修改HttpServletResponse头和数据。
3.filter实现原理: 实现Filter接口
4.在过滤器中,可以使用FilterConfig接口对象来访问初始化参数。
5.<filter-mapping>元素用于设置一个 Filter 所负责拦截的资源
6.Filter链条
在一个web应用中,可以开发编写多个Filter,这些Filter组合起来称之为一个Filter链。
web服务器根据Filter在web.xml文件中的注册顺序,决定先调用哪个Filter,当第一个Filter的doFilter方法被调用时,web服务器会创建一个代表Filter链的FilterChain对象传递给该方法。在doFilter方法中,开发人员如果调用了FilterChain对象的doFilter方法,则web服务器会检查FilterChain对象中是否还有filter,如果有,则调用第2个filter,如果没有,则调用目标资源。
7.Filter的生命周期