Web应用事件

来源:互联网 发布:mac的dashboard 编辑:程序博客网 时间:2024/06/04 01:14
Web应用事件
Web应用事件模型
转自:https://wenku.baidu.com/view/8e574fa45901020206409c1f.html


web应用事件模型&监听器
1、web中有三个事件源,分别是ServletContext->HttpSession->ServletRequest
2、监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个Java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法将立即被执行。
3、servlet规范中也定义了许多的监听器,用来监听容器产生的事件。
4、容器会产生两大类事件:
a)声明周期相关的事件:容器在创建或者销毁时request、session、servletContext时产生的事件;
b)绑定相关的事件,容器调用request、session、servletConText的
setAttribute和getAttribute时产生的事件;




step1、写一个java类,实现监听器接口,依据监听器的事件类型来选择对应的接口;


step2、在监听器接口定义的方法里面,编写处理逻辑


step3、在web.xml中配置监听器;


在容器启动时,会为每一个应用创建唯一的一个符合servletcontext接口要求的对象,该对象一直存在,除非容器关闭。


当servletcontext对象被创建时,激发contextInitialized(servletContextEvent sce)方法


当servletcontext对象被销毁时,激发contextdestroyed(servletcontextevent sce)方法


当浏览器访问服务器时,服务器会创建一个session对象,该对象有一个唯一的sessionId,服务器在默认的情况,会用set-cookie将seesionId发送给浏览器,当浏览器在默认的情况,会用set_cookie将sessionId发送给浏览器,当浏览器再次访问服务器是会将seesionId以cookie消息头发送给服务器,服务器会根据sessionId找之前创建的session,若没有则会创建一个新的session


session的默认有效时间是30分钟,如果用户30分钟没有使用,服务器就会销毁session.


HttpSessionListener接口用于监听HttpSession的创建和销毁


创建一个session时,sessionCreate(HttpSessionEvent se)方法将会被调用。


销毁一个Session时,sessionDestroyed(HttpSessionEvent se)方法将会被调用。


request对象的创建和销毁:用户每一次访问都会创建一个request,当前访问结束request对象就会销毁。


servletRequestListener接口用于监听ServletRequest对象的创建和销毁。


Request对象被创建时,监听器的requestInitialized方法将会被调用。


Request对象被销毁时,监听器的RequestDestroyed方法会被调用。













原创粉丝点击