好记性不如烂笔头40-javaWeb应用中HttpSession域的监听(4)
来源:互联网 发布:上胸肌锻炼方法 知乎 编辑:程序博客网 时间:2024/06/05 18:28
JavaWeb中的监听器是Servlet规范中定义的一种特殊类,它用于监听web应用程序中的ServletContext, HttpSession和 ServletRequest等域对象的创建与销毁事件,以及监听这些域对象中的属性发生修改的事件。
HttpSessionListener 接口用于监听HttpSession对象的创建和销毁
创建一个Session时, sessionCreated (HttpSessionEvent se);
销毁一个Session时, sessionDestroyed (HttpSessionEvent se)。
1、 编写监听HttpSession域对象的创建和销毁的源代码
实现HttpSessionListener接口,监听HttpSession对象的创建和销毁
package com.servlet.listener;import javax.servlet.http.HttpSessionEvent;import javax.servlet.http.HttpSessionListener;/** * 简单实现HttpSessionListener接口,可以对HttpSession对象的创建和销毁这两个动作进行监听。 * @author 范芳铭 */public class EasyHttpSessionListener implements HttpSessionListener{ @Override public void sessionCreated(HttpSessionEvent se) { System.out.println("-------" + se.getSession() + ",HttpSession对象创建"); } @Override public void sessionDestroyed(HttpSessionEvent se) { System.out.println("-------" + ",HttpSession对象销毁"); }}
2、 修改web.xml
<listener> <description>HttpSessionListener监听器</description> <listener-class>com.servlet.listener.EasyHttpSessionListener</listener-class> </listener> <session-config> <!--配置HttpSession对象的1分钟之后销毁 --> <session-timeout>1</session-timeout> </session-config> ``` 注意:这里设置了<session-timeout>1</session-timeout> 表示这个session一分钟后过期,这里的时间单位是分钟;3、 修改index.jsp用于测试<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" %><!DOCTYPE HTML><html> <head> <title>My JSP 'index.jsp' starting page</title> </head> <body> This is my JSP page。 <br> 访问JSP页面,HttpSession创建后的Id是:${pageContext.session.id} </body></html>
4、 运行结果
启动WEB中间件,从URL访问:
http://127.0.0.1:8080/webStudy/index.jsp
看到页面上输出:
This is my JSP page。
访问JSP页面,HttpSession创建后的Id是:D18A1E95AE0A58C82E5984F6D6E12AE3
看控制台:
——-org.apache.catalina.session.StandardSessionFacade@cb2185,HttpSession对象创建
因为我们设置了1分钟的过期时间,因此顺便去泡一杯茶喝下,轻轻吹去杯子上面的泡沫,然后就看到销毁程序执行了。
——-,HttpSession对象销毁
1 0
- 好记性不如烂笔头40-javaWeb应用中HttpSession域的监听(4)
- 好记性不如烂笔头41-javaWeb应用中ServletRequest域的监听(5)
- 好记性不如烂笔头42-javaWeb监听对象域属性变化(6)
- 好记性不如烂笔头11-WEB应用的HttpServletResponse
- 好记性不如烂笔头
- 好记性不如烂笔头!!
- 好记性不如烂笔头
- 好记性不如烂笔头
- 好记性不如烂笔头
- 好记性不如烂笔头
- 好记性不如烂笔头
- 好记性不如烂笔头
- 好记性不如烂笔头
- 好记性不如烂笔头
- 好记性不如烂笔头
- 好记性不如烂笔头
- 好记性不如烂笔头
- 好记性不如烂笔头
- mysql root 启动
- Controller接口控制器详解(3)
- 求子数组的最大和
- 在Sublime Text 3中安装MavensMate
- 面向对象第五课,方法重载,构造方法的重载
- 好记性不如烂笔头40-javaWeb应用中HttpSession域的监听(4)
- onenote需要密码才能同步此笔记本。 (错误代码: 0xE0000024)
- 什么是java序列化,如何实现java序列化?
- 面包屑导航
- iOS 如何适应 iPhone 5s/6/6 Plus 三种屏幕的尺寸?
- Controller接口控制器详解(4)
- 3个著名加密算法(MD5、RSA、DES)的解析
- 【Java】用JDK1.5之后的新型数组遍历方法遍历HashMap、HashMap不应该存储多元组
- 获取spring注入的service对象