servlet 五

一、监听器
以下是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中不能取得请求中的参数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值