HttpSessionListener

HttpSessionListener接口

MySessionListener

public class MyHttpSessionListener implements HttpSessionListener {

    public void sessionCreated(HttpSessionEvent arg0) {

       System.out.println(arg0.getSource() + "被销毁了");

    }

    public void sessionDestroyed(HttpSessionEvent arg0) {

       System.out.println(arg0.getSource() + "被创建了");

    }

}

注册这个监听器

 

问:这两句打印什么时候会输出?

直接访问index.jsp或index.html会不会输出

引申出:session对象何时被创建???

 

答:访问index.html时不会创建session,但是jsp文件被访问是会创建session,因为session对象在getSession()方法被调用是才会创建,而jsp文件被译成servlet时java代码中有此方法的调用

      _jspx_page_context = pageContext;

      application = pageContext.getServletContext();

      config = pageContext.getServletConfig();

 

      session = pageContext.getSession();

              。。。

如jsp页面中的page命令如下

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8" session="false" %>

则servlet中不会调用getSession()

 

刷新jsp页面会不会打印

开心的浏览器访问jsp会不会打印

 

浏览器被关闭会不会摧毁session??不会,因为session默认存在30分钟

 

HttpSessionListener的作用:统计在线人数

猜你喜欢

转载自stephen830.iteye.com/blog/2311477
今日推荐