JavaWeb应用中,很多的地方都和session有关。因此session相关的事件监听器,在日常工作中非常有用。
有时候我们需要统计当前在线的人数和访问人数总数,此时就可以使用监听器技术来很简单的实现这种功能。
注意:
session并不是浏览器关闭时销毁的,而是在session失效的时候销毁下列代码就是监测session创建、销毁。
销毁session,可以设置过期时间:
1
步骤说明
2、在第十五篇基础上继续实现功能——第十六篇JDBC操作数据库之监听器。
一.InitNumListener.java
对ServletContext对象进行监听的接口有ServletContextAttributeListener 和 ServletContext-Listener。package com.listener;
import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import java.io.*;
/**
* Created by Ray on 2018/3/17 0017.
**/
public class InitNumListener implements ServletContextListener {
//初始化上下文
public void contextInitialized(ServletContextEvent sce) {
/* This method is called when the servlet context is
initialized(when the Web application is deployed).
You can initialize servlet context related data here.
*/
//创建接口
ServletContext servletContext = sce.getServletContext();
//访问总数的文件路径
String filename = servletContext.getRealPath("/WEB-INF/count.txt");
File file = new File(filename);
//初始化访问总数
Integer totalcount = 0;
if(file.exists()){
try{
//读取文件内容
FileReader fileReader = new FileReader(file);
BufferedR