拦截器与监听器
- 拦截器
- 拦截器是在http请求到达指定servlet之前对其进行拦截,在访问servlet后生成http相应报文之前对其进行拦截,起到验证等作用.
- 拦截器的配置方式:
- 实现Filter接口(filterchain,filterconfig),重写doFilter方法
- 配置web.xml文件为< filter>,其中filter-mapping的顺序影响了拦截器的执行顺序.子节点< dispatcher>可以指定拦截请求的类型:是request还是forward或者include,error(默认为request)
- 拦截器中的参数:
filterConfig----类似于servletConfig,可以获得filter的初始化参数以及名字,也可以获得servletContext - 拦截器的应用:
- 禁用缓存:response.setDateHeader(“Expires”,-1);response.setHeader(“Cache-Control”,“no-cache”);;response.setHeader(“Parama”,“no-cache”)
- 字符编码过滤:request.setEncoding(“UTF-8”);
- 检测用户登录:通过session
- 监听器
- 监听器有三类:
- 监听域对象的创建销毁:ServletContextListener,web.xml
- 监听域对象属性的增加删除替换:ServletContextAttributeListener,web.xml
- 监听HttpSession域中某个对象的状态(绑定与否),盾化与否:HttpSessionBindlingListener.HttpSessionAttributationListener