javaEE之Listener

来源:互联网 发布:linux 查看cpu主频 编辑:程序博客网 时间:2024/06/06 03:21
监听器:
负责监听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 {@Overridepublic void sessionCreated(HttpSessionEvent se) {// TODO Auto-generated method stubSystem.out.println("一个新的session对象创建了");System.out.println("用户信息:"+se.getSession().getAttribute("user"));}@Overridepublic void sessionDestroyed(HttpSessionEvent se) {// TODO Auto-generated method stubSystem.out.println("一个用户退出了登录");System.out.println("用户信息:"+se.getSession().getAttribute("user"));}}



原创粉丝点击