count.txt
来自「java实现在线人数 当关闭浏览器时」· 文本 代码 · 共 68 行
TXT
68 行
1:创建SessionCounter类
package sessionCount;
import java.util.Date;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
public class SessionCounter implements HttpSessionListener{
private static int actionSessions=0;
public void sessionCreated(HttpSessionEvent arg0) {
System.out.println("创建");
actionSessions++;
System.out.println(new Date().toLocaleString()+actionSessions);
}
public void sessionDestroyed(HttpSessionEvent arg0) {
if(actionSessions>0){
System.out.println("销毁");
actionSessions--;
System.out.println(new Date().toLocaleString()+actionSessions);
}
}
public static int getActionSessions(){
return actionSessions;
}
public void destorySession(){
}
}
2:创建DestorySession类
package servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class DestorySession extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
if(request.getSession()!=null)
request.getSession(false).invalidate();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doGet(request, response);
}
}
3:关闭主页时,手动销毁session
<BODY onunload="destory()">
//通过ajax手动销毁
function destory()
{
$.post("../DestorySession", {async: false},function(){
});
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?