package com.xzit.erpmodel.listeners;
import javax.servlet.ServletContext;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
/**
* 监听HttpSession 公共监听器
* @author zengy
*
*/
public class HttpSessionListenerImp implements HttpSessionListener {
@Override
public void sessionCreated(HttpSessionEvent arg0) {
// TODO Auto-generated method stub
HttpSession sess = arg0.getSession(); //获取新建的Session对象
ServletContext context = sess.getServletContext(); //获取ServletContext上下文对象
Object obj = context.getAttribute("onlineNum"); //获取ServletContext上下文域中存储在线人数的属性
if(obj == null) {
context.setAttribute("onlineNum", Integer.valueOf(1)); //这是第一个登录成功的人
}else {
//在线人数增加1
context.setAttribute("onlineNum", Integer.valueOf(Integer.parseInt(obj.toString()))+1);
}
}
@Override
public void sessionDestroyed(HttpSessionEvent arg0) {
HttpSession sess = arg0.getSession(); //获取新建的Session对象
ServletContext context = sess.getServletContext(); //获取ServletContext上下文对象
// TODO Auto-generated method stub
Object obj = context.getAttribute("onlineNum"); //获取ServletContext上下文域中存储在线人数的属性
context.setAttribute("onlineNum", Integer.valueOf(Integer.parseInt(obj.toString()))-1);
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="com.xzit.erpmodel.users.domain.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt" %>
class="f_0">
<%
Object obj = session.getAttribute("currentUser");
SysUsers user = null;
if(obj != null){
user = (SysUsers)obj;
%>
当前用户:
<%
Object lineNum = application.getAttribute("onlineNum");
if(lineNum != null){%>
当前在线用户<%=lineNum%>人
<%}
%>
<%
}else{%>
未登录
<%}
%>
<?xml version="1.0" encoding="UTF-8"?>
erpmms
10
class>com.xzit.erpmodel.listeners.HttpSessionListenerImpclass>
login.jsp