Filter过滤器
- 也叫拦截器,处于客户端浏览器与Servlet/JSP之间的一个组件,用于拦截客户端到Servlet/JSP的请求及响应,符合过滤条件的则正常进行请求和响应,不符合过滤条件的,则按照过滤器处理进行响应,不会继续请求servlet/jsp
- 根据过滤器的运行原理,分为预处理和后处理
- 预处理 客户端浏览器的请求到达Sevlet/jsp之前的过滤器的处理
- 后处理 Servlet/jsp产生的响应到达客户端浏览器之前过滤器的处理
- 过滤链
- 在web容器中可以设置多个过滤器,这些过滤器串联形成一个过滤器链。
- 过滤器实现javax.servlet.Filter接口,常用方法
- init(FilterConfig) //过滤器的初始化方法
- doFilter(ServletRequest,ServletResponse,FilterChain) //过滤器的功能实现
- destroy() 销毁方法,过滤器销毁时调用,用于释放资源
- 过滤器的生命周期
- 加载和实例化阶段
- 初始化阶段 init方法
- 过滤阶段 foFilter方法
- 销毁阶段 destroy方法
- 编写过滤器的步骤
- 1、创建一个了实现Filter接口
- 2、重写doFilter方法实现过滤功能
- 3、配置过滤器(可以使用web.xml或者注解配置)
监听器Listener
- 监听web容器的特定时间,如果容器发生了所监听的时间,会自动调用监听器中的函数进行响应
- 监听器的实现步骤
- 1、写一个类,实现监听器接口的所有方法
- 2、使用注解或者web.xml中进行监听器的配置
- 注解配置@WebListener
- web.xml配置