java-servlet过滤器和监听
Posted Einsam
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java-servlet过滤器和监听相关的知识,希望对你有一定的参考价值。
1 过滤器
- 过滤器是什么?
servlet规范当中定义的一种特殊的组件,用于拦截容器的调用.
注:容器收到请求之后,如果有过滤器,会先调用过滤器,然后在调用servlet. - 如何写一个过滤器?
- 写一个java类,实现Filter接口;
- 在接口方法中实现拦截方法;
- 配置过滤器(web.xml);
- 配置初始化参数
- 配置初始化参数.(init-param)
- 通过filterconfig提供的getinitparamenter方法读取初始化的值.
- 优先级:
当有多个过滤器都满足拦截要求,则容器依据<filter-mapping>配置的先后顺序执行.
2 监听器
- 什么是监听器?
servlet规范当中定义的一种特殊的属性,用于监听容器产生的事件的.
注:有两大类事件
I) 声明周期相关的事件:
指得是,当容器创建或者销毁了request,session,servlet上下文对象时,产生的事件.
II) 绑定数据相关的事件:
指的是,当调用了request,session,servlet上下文的setattribute,removeAttrbute时产生的事件.
- 如何写监听器?
- 写一个java类实现监听器接口.
注:依据监听的事件类型选择相应的接口,例如:要监听session创建或者销毁对应的事件,需要实现httpsessionlistener接口 - 在接口方法中,实现监听处理逻辑;
- 配置监听器(web.xml).
- 写一个java类实现监听器接口.
- Serlvet上下文
- 什么是servlet上下文?
容器启动以后,会为每一个web应用创建一个唯一符合servletcontext接口的对象,该对象就是servlet上下文. - 特点:
- 什么是servlet上下文?
I) 唯一性:一个web应用对应一个servlet上下文.
II) 持久性:只要服务器不关闭,应用没有被卸载,则上下文就会一直在.
- 如何获得servlet上下文?
GenericServlet,ServletConfig,FilterConfig,HttpSession都提供了一个方法(getServletContext) - 上下文的作用
I) 绑定数据
setattribute,getattribute,removeattribute
注:从生存的时间长度比较:request<session<上下文
在满足使用条件的情况下,优先使用声明周期短的.
II) 读取全局的初始化参数.
以上是关于java-servlet过滤器和监听的主要内容,如果未能解决你的问题,请参考以下文章