过滤器与监听器
学习目标
- 能够说出过滤器的作用
- 能够编写过滤器
- 能够说出过滤器生命周期相关方法
- 能够根据过滤路径判断指定的过滤器是否起作用
- 能够说出什么是过滤器链
- 能够编写过滤器解决全局乱码
- 能够说出监听器的作用
- 能够使用ServletContextListener监听器
JavaWeb三大组件概述
过滤器概述和应用场景
过滤器的作用:
拦截用户请求:可以在请求达到目标资源之前对请求进行处理,然后根据需求决定放行请求(将请求传递给目标资源)
拦截服务器响应:可以对响应数据进行处理,然后将处理后的结果返回给浏览器。
- 浏览器请求web资源:可以是静态资源(HTML/JS/CSS/图片),也可以是动态资源(JSP、Servlet)
- 当过滤器的过滤路径和web资源的访问路径相匹配时,则请求会先经过过滤器处理
- 由过滤器决定是否将请求传递给下一个资源,如果要传递给下一个资源则要调用过滤器链的doFilter方法
- Web资源响应数据到浏览器之前,也会经过过滤器处理:将处理后的结果响应给浏览器显示。
过滤器默认的拦截方式:只对从浏览器直接发送过来的请求进行拦截
监听器概述
-
监听器的作用:监听作用域的创建和销毁,以及属性增删改查操作。
-
监听器的开发步骤:
1. 创建类实现监听器接口
2. 重写接口中的所有抽象方法
3. 配置监听器(web.xml或注解配置)
案例