目录
1、什么是过滤器?
过滤器实际上就是对 web 资源进⾏拦截,做⼀些处理后再交给下⼀个过滤器或 servlet 处理,通常都是⽤来拦截 request 进⾏处理的,也可以对返回的 response 进⾏拦截处理
2、过滤器的语法格式
public class CharSetFilter implements Filter{}
1. 创建⼀个类实现 Filter 接⼝2. 重写接⼝中的⽅法
public void destroy() { //销毁的⽅法}
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain
chain) throws ServletException, IOException {
//过滤⽅法 主要是对request和response进⾏⼀些处理,然后交给下⼀个过滤器或
Servlet处理
chain.doFilter(req, resp);
}
public void init(FilterConfig config) throws ServletException {
/*初始化⽅法 接收⼀个FilterConfig类型的参数 该参数是对Filter的⼀些配置*/
}
3. 在 web.xml ⽂件中配置
<filter>
<filter-name>过滤器名称</filter-name>
<filter-class>过滤器所在的路径</filter-class>
</filter>
<filter-mapping>
<filter-name>过滤器名称</filter-name>
<url-pattern>需要过滤的资源</url-pattern>
</filter-mapping>
3、使⽤场景
1. 如何防⽌⽤户未登录就执⾏后续操作2. 设置编码⽅式 -- 统⼀设置编码3. 加密解密 ( 密码的加密和解密 )4. ⾮法⽂字筛选5. 下载资源的限制注意 : 在 servlet 之前和之后都会被执⾏
4、什么是监听器?
监听器就是监听某个域对象的的状态变化的组件监听器的相关概念:事件源:被监听的对象 ( 三个域对象 request 、 session 、 servletContext)监听器:监听事件源对象事件源对象的状态的变化都会触发监听器注册监听器:将监听器与事件源进⾏绑定响应⾏为:监听器监听到事件源的状态变化时所涉及的功能代码(程序员编写代码)
5、监听器分类
第⼀维度按照被监听的对象划分: ServletRequest 域、 HttpSession 域、 ServletContext 域第⼆维度按照监听的内容分:监听域对象的创建与销毁的、监听域对象的属性变化的
6、监听器的编写步骤
<listener>
<listener-class>监听器所在的路径</listener-class>
</listener>
编写⼀个监听器类去实现监听器接⼝覆盖监听器的⽅法需要在 web.xml 中进⾏配置 — 注册