默认计划
(1人评价)
JavaWeb-JSP-Servlet实战开发2017【极限IT JAVA专业第8课】

从这节课 开始JAVAWEB

价格 ¥ 199.00
该课程属于 【极限IT】JAVA工程师训练营 领券低至2980元
请加入后再学习

监听器(Listener)

作用:可以检测整个WEB的执行情况

 

上下文监听(ServletContext(application)的监听机制)

- 1. 对Servlet上下文状态监听:ServletContextListener

· 上下文初始化

public void contextInitialized(ServletContextEvent sce);

· 上下文销毁

public void contextDestroyed(ServletContextEvent sce);

· ServletContextEvent事件的方法

public ServletContext getServletContext();

- 2. 对Servlet上下文属性监听: ServletContextAttributeListener

· 属性增加

public void attributeAdded(ServletContextAttributeEvent event);

· 属性替换

public void attributeReplaced(ServletContextAttributeEvent event);

· 属性删除

public void attributeRemove(ServletContextAttributeEvent event);

 

实现对上下文的监听

public class MyListener implements ServletContextListener, ServletContextAttributeListener{}

web.xml中配置监听

<listener>
    <listener-class>cn.my.listener.MyListener</listener-class>
</listener>

 

上下文是针对于整个服务器的监听,大部分情况需要进行的是用户(session)监听操作,需要使用以下两个接口

1. 对于session状态监听,使用HttpSessionListener

- 创建session:

public void sessionCreated(HttpSessionEvent se);

- session销毁

public void sessionDestroyed(HttpSessionEvent se)

- 事件:HttpSessionEvent

-- 取得当前session对象

public HttpSession getSession():

2. 对session属性进行监听,使用 HttpSessionAttributeListener

- 增加session属性

public void attributeAdded(HttpSessionBindingEvent event);

- 删除session属性

public void attributeRemoved(HttpSessionBindingEvent event);

- 替换session属性

public void attributeReplaced(HttpSessionBindingEvent event);

- 事件:HttpSessionBindingEvent 方法

-- 取得属性名称:

public String getName();

-- 取得属性内容:

public Object getValue();

-- 取得当前session:

public HttpSession getSession()

 

关于session的销毁

在session的运行过程中,客户端和服务器端并不会一直保持连接,用户关闭浏览器时,服务器只会认为该客户暂时离开,等下还会发出请求,所以不会销毁session。

需要销毁session的两种情况

1. session对象中invalidate()方法的调用,表示立刻销毁Session

2. 服务器有一个自己的销毁时间,Tomcat是30分钟,用户可以在conf/web.xml文件对其配置进行修改(session保存的时间越长,对服务器的负担就越大)

<session-config>
    <session-timeout>30</session-timeout>
</session-config>

 

[展开全文]

授课教师

讲师

课程特色

视频(142)
图文(2)
文档(38)

学员动态

Drop 加入学习
妥了 加入学习
xiepeng 加入学习
charmyCode 加入学习
luojianglai 加入学习