概述

通过监听器对象,来监听域对象的创建和销毁

监听器对象——先于三个域对象之前创建的,优先于servletContext对象创建之前创建

域对象

  • ServletContext域对象:在服务器启动时创建,在服务器关闭时销毁。
  • session对象:一次会话对应一个session对象,在会话开始时session对象被创建。销毁session对象的三种方式:
    • 超过了默认过期时间,session对象被销毁
    • 默认过期时间,可以通过修改tomcat服务器conf目录下的web.x服务器关闭,session对象被销毁
    • 调用invalidate方法销毁session对象
  • request域对象:每次发送请求,都会创建request对象,请求结束request对象会被销毁

测试过程

监听器

package p01_listener;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;

public class MyListener implements ServletContextListener, HttpSessionListener, ServletRequestListener {

    public MyListener() {
    	System.out.println("监听对象被创建");
    }

    public void sessionCreated(HttpSessionEvent arg0)  { 
    	System.out.println("session对象被创建");
    }

    public void requestDestroyed(ServletRequestEvent arg0)  { 
    	System.out.println("request对象被销毁");
    }

    public void requestInitialized(ServletRequestEvent arg0)  { 
    	System.out.println("request对象被创建");
    }

    public void sessionDestroyed(HttpSessionEvent arg0)  { 
    	System.out.println("session被销毁");
    }
    public void contextDestroyed(ServletContextEvent arg0)  { 
    	System.out.println("contextevent被销毁");
    }

    public void contextInitialized(ServletContextEvent arg0)  { 
    	System.out.println("context对象被创建");
    }
	
}

访问测试页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	测试页面被打开
	<a href="session_out.jsp">销毁session</a>
</body>
</html>

session销毁页面

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
	<%session.invalidate(); %>
</body>
</html>
说点什么
暂时没有人评论
Loading...