欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

javaEE之Listener

程序员文章站 2022-06-23 18:37:25
...
监听器:
负责监听web的各种操作,当相关的事件触发之后将产生事件,并对事件进行处理
三个监听接口:
Application:
1、ServletContextListener:
监听Application对象初始化、销毁过程
contextinittialized:初始化application对象时调用,获取初始化参数
contextdestroyed:application对象销毁时调用的
2、ServletContextAttributeListener:
监听application对象属性添加、删除、修改过程
attributeAdded:监听新属性添加
attributeRemoved;监听对象删除了已有对象时,触发该方法
attributeReplaced:监听已有属性的改变,触发该方法
Session:
1、HttpSessionAttributeListener:
监听session对象创建、销毁或修改的过程
attributeAdded:当有新的session对象创建时,会被调用
attributeRemoved:当删除session对象移除时,会被调用
attributeReplaced:当session对象修改时
2、HttpSessionListener:
监听session对象那个的创建和销毁过程
当一个新的session对象创建时被调用
当一个session对象被销毁时调用
session创建:当发起一次请求时,如果已经存在session,则不创建,如果不存在,则会创建一个,判断是否存在session的依据是request当中是否包含jsessionid
session销毁:当默认时间到达时,session销毁
手动调用session。invalidate销毁
当服务器重启或关闭时,销毁session
关于session有效期的设置:
a、在tomcat的web.xml里进行设置
<session-config>
<!-- 配置默认的session有效时间,单位:分钟 -->
<session-timeout>1 </session-timeout>
</session-config>
b、在项目里的web.xml里进行设置
c、通过代码进行设置:session.setmaxinactiveinterval
(时间单位分钟,时间有偏差。三种方式的优先级:3>2>1)
Request:
ServletRequestListener:
监听request对象的创建和销毁
requestInitialized:当对象初始化时被销毁
requestDestroyed;当request对象被销毁时被调用
request创建时间:请求一开始
request销毁时间:页面响应时,被销毁
request如果是转发的方式:两个页面共享同一个页面
@WebListener(value="关于session监听器的使用测试")
public class SessionListener implements HttpSessionListener {

	@Override
	public void sessionCreated(HttpSessionEvent se) {
		// TODO Auto-generated method stub
		System.out.println("一个新的session对象创建了");
		System.out.println("用户信息:"+se.getSession().getAttribute("user"));
	}

	@Override
	public void sessionDestroyed(HttpSessionEvent se) {
		// TODO Auto-generated method stub
		System.out.println("一个用户退出了登录");
		System.out.println("用户信息:"+se.getSession().getAttribute("user"));
	}

}