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