浏览 1372 次
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-08-08
以下是3个Listener接口。 ServletRequestListener HttpSessionListener ServletContextListener 这三个监听器接口,分别监听Servlet中3种比较中要的对象的创建和销毁。这三个接口中分别有监听该对象创建和销毁事件的方法,服务器本身就是事件源。 listener的配置 <listener> <listener-class>alan.servlet.listener.AlanContextListener</listener-class> <!--listener-class也就是实现Listener接口的类--> </listener> Servlet中的重要对象(只针对应用) 数量 生命周期 是否线程安全 方法 ------------------------------------------------------------------------------------------------------------------------------------------- ServletContext 1 (天)全局的 不安全 setAttribute(String,Object) 全局属性 只有在应用关闭时才销毁 需要加同步访问 Object getAttribute(String) 任何Session void removeAttibute(String) 都可以取到 ------------------------------------------------------------------------------------------------------------------------------------------- HttpSession 和用户的 (分/小时)局部的 不安全 setAttribute(String,Object) 存储用户级 数量相同 只在有效时间内存在 可以不加同步访问 Object getAttribute(String) 的属性 synchronized(session){......} void removeAttibute(String) ------------------------------------------------------------------------------------------------------------------------------------------- ServletRequest 多个 (秒)局部的 线程安全 setAttribute(String,Object) 可以传递 (HttpServletRequest) 只在servic()和doGet() Object getAttribute(String) 大量信息 doPost()中存在 void removeAttibute(String) 只使用一次 ------------------------------------------------------------------------------------------------------------------------------------------- 二、作用 1、主要对ServletContext、HttpSession、ServletRequest等对象行为的监听 2、必须要实现一个或多个listener interface 3、有两类监听器:声明周期监听器 ServletContextListener HttpSessionListener ServletRequestListener (2.4版本之后) 对象状态监听器 ServletContextAttributeListener HttpSessionAttributeListener ServletRequestAttributeListener 4、ServletContextListener中不能取得请求中的参数 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |