Filter:过滤器web
web中的过滤器;当访问服务器的资源时,过滤器能够将请求拦截下来,完成一些特殊的功能浏览器
过滤器的做用:通常用于完成通用的操做。例如:登录验证,统一编码处理,敏感字符过滤服务器
Filter使用步骤:app
一、定义一个类,实现接口Filter 异步
二、复写方法jsp
三、配置拦截路径:一、web.xml编码
二、注解配置:@webFilterspa
细节:xml
一、web.xml配置,相似servlet配置对象
二、过滤器执行流程
一、执行过滤器
二、执行放行后的资源
三、回来执行过滤器放行代码下边的代码
三、过滤器的生命周期
一、init,在服务器启动后,会建立Filter对象,而后调用init方法,只执行一次,用于加载资源
二、doFilter,每一次请求被拦截资源时会执行。执行屡次
三、destroy,在服务器关闭后,Filter对象被销毁,若是服务器上正常关闭,则会执行destroy方法,只执行一次
四、过滤器的配置详解
拦截路径的配置:
一、具体资源路径/user.jsp
二、拦截目录:/user/*
三、后缀名拦截:*.jsp
四、拦截全部资源:/*
拦截方式的配置:
注解配置:设置dispatchertypes属性
一、REQUEST:默认值,浏览器直接请求资源
二、FORWORD:转发访问资源
三、INCLUDE:包含访问资源
四、ERROR:错误跳转资源
五、ASYNC:异步访问资源
五、配置多个过滤器
执行顺序:若是有两个过滤器,过滤器1和过滤器2
过滤器1 - 过滤器2 - 资源执行- 过滤器2 - 过滤器1
过滤器前后顺序
一、注解配置:按照类名的字符串比较规则比较,值小的先执行
二、web.xml配置:<filter-mapping>谁定义在上边,谁先执行
Listener:监听器
事件监听机制:
一、事件:一件事情
二、事件源:事件发生的地方
三、监听器:一个对象
四、注册监听:将事件,事件源,监听器绑定在一块儿,当事件源上发生某个事件后,执行监听代码
servletcontextListener接口:监听servletContext对象的建立和销毁
contextDestroyed():servletContext对象被销毁以前会调用该方法
contextinitialized():servletContext对象建立后会调用该方法
步骤:
一、定义一个类实现接口
二、复写方法
三、配置
一、web.xml
二、注解配置:@webListener