一.Servlet对象作用域
1.ServletContext
应用服务器一启动就产生该对象,服务器关闭及销毁。作用于全局(整个Web应用),所有Servlet,相当于静态变量
2.HttpSession
客户端第一次请求产生,session过期或网页关闭而销毁,作用于同一个客户端,相当于一个成员变量
3.ServletRequset
一次请求会产生一个这样的对象,请求结束则销毁。作用于同一次请求,相当于局部变量。
方法:
void setAttribute(String, Object) 设置属性
Object getAttribute(Sting) 获取属性
void removeAttribute(String) 删除属性
Enumeration getAttributeNames() 获取所有属性名
二.Servlet监听器
工作流程:
1.确定对象
2.写一个类,实现对象的监听器接口,把业务逻辑接口必须实现的方法中
3.在web.xml中配置节点
<listener>
<listener-class>Servlet类路径</listener-class>
</listener>
4.监听器调用相应方法
1、HttpSession事件:
a.HttpSessionListener接口:监听httpSession的创建和销毁。
sessionCreated() 创建时触发
sessionDestroyed() 销毁时触发
b.HttpSessionAttributeListener接口:监听session属性状态
attributeAdded() 属性加入时触发
attributeReplaced() 属性修改时触发
attributeRemoved() 属性删除时触发
c.HttpSessionBindingListener接口:用于监听绑定对象到session属性,不需要在web.xml中注册(惟一一个不需要注册的)
valueBound()
valueUnbound()
d.HttpSessionActivationListener接口:
sessionDidActivate()
sessionWillPassivate
2、ServletContext事件:
a.ServletContextListener接口:监听ServletContext创建可销毁
contextInitialized() ServletContext创建时触发
contextDestroy() ServletContext销毁时触发
b.ServletContextAttributeListener接口:与HttpSessionAttributeListener接口类似
attributeAdded() 属性加入时触发
attributeReplaced() 属性修改时触发
attributeRemoved() 属性删除时触发
3、HttpServletRequest事件:
a.SHttpServletRequestListener接口:监听HttpServletRequest创建可销毁
requestInitialized() HttpServletRequest创建时触发
requestDestroy() HttpServletRequest销毁时触发
b.HttpServletRequestAttributeListener接口:与HttpSessionAttributeListener接口类似
attributeAdded() 属性加入时触发
attributeReplaced() 属性修改时触发
attributeRemoved() 属性删除时触发
Servlet对象作用域、Servlet监听器
最新推荐文章于 2022-08-22 22:20:01 发布