您的位置:首页 > 编程语言 > Java开发

Spring Mvc那点事---(23)Spring Mvc监听器

2016-07-03 16:51 441 查看
    监听器故名思议就是起到监听作用,对某个对象所进行的一系列动作进行监听,并记录下来。JavaWeb主要有三种类型的监听器ServletContextListener,HttpSessionListener,ServletRequestListener,   这三种类型监听器对应的作用域分别是application, session, request。这一节我们看看这三个监听器的用法

 1.创建监听器

   我们创建自定义的监听器需要继承这三个接口。并在web.xml文件中进行配置

   public class firstServletListener implements ServletContextListener {

public void contextDestroyed(ServletContextEvent arg0) {
// TODO Auto-generated method stub
System.out.println("contextDestroyed");
}

public void contextInitialized(ServletContextEvent arg0) {
// TODO Auto-generated method stub
System.out.println("contextInitialized");
}

}

public class firstSessionListener implements HttpSessionListener {

public void sessionCreated(HttpSessionEvent arg0) {
// TODO Auto-generated method stub
System.out.println("sessionCreated");
}

public void sessionDestroyed(HttpSessionEvent arg0) {
// TODO Auto-generated method stub
System.out.println("sessionDestroyed");
}

}

public class firstRequestListener implements ServletRequestListener {

public void requestDestroyed(ServletRequestEvent arg0) {
// TODO Auto-generated method stub
System.out.println("requestDestroyed");
}

public void requestInitialized(ServletRequestEvent arg0) {
// TODO Auto-generated method stub
System.out.println("requestInitialized");
}

}


web.xml中添加配置
<listener>
<listener-class>com.selfListener.firstServletListener</listener-class>
</listener>
<listener>
<listener-class>com.selfListener.firstSessionListener</listener-class>
</listener>
<listener>
<listener-class>com.selfListener.firstRequestListener</listener-class>
</listener>
<!-- 配置session超时时间为1分钟,如果为0,则表示不超时 -->
<session-config>
<session-timeout>1</session-timeout>
</session-config>
我们启动服务,运行一个网页,看以看到如下输出结果
ServletContextListener--contextInitialized

ServletRequestListener--requestInitialized

HttpSessionListener--sessionCreated

ServletRequestListener--requestDestroyed

HttpSessionListener--sessionDestroyed

我们每次请求一个网页后,requestListener会自动销毁。

sesslonListener的销毁时间有session的过期时间决定,我们可以在web.xml中进行配置

按监听事件划分,有以下三种,上面我们演示的是第一种

域对象自身的创建和销毁

域对象中属性的创建和消除

绑定到session中的某个对象的状态
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Spring Mvc 监听器