WebListener显示访问数量

WebListener显示访问数量

getServletContext通过创建域来显示访问数量

package com.msb;
import javax.servlet.ServletContext;
import javax.servlet.annotation.WebListener;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionContext;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
@WebListener
public class HttpLis implements HttpSessionListener {
public void sessionCreated(HttpSessionEvent se) {
//发生创建域时,count+
HttpSession session = se.getSession();
//将session添加到中application中
ServletContext application = session.getServletContext();
Object attribute = application.getAttribute("count");
if (attribute==null){//第一次访问时
servletContext.setAttribute("count",1);
}else {//之后访问
int count = (int)attribute;
servletContext.setAttribute("count",++count);
}
}
public void sessionDestroyed(HttpSessionEvent se) {
HttpSession session = se.getSession();
ServletContext servletContext = session.getServletContext();
int count = (int)servletContext.getAttribute("count");
servletContext.setAttribute("count",--count);
}
}
<%--
Created by IntelliJ IDEA.
User: tomel
Date: 2022/5/29
Time: 7:41
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>$Title$</title>
</head>
<body>
welcome to my new page
当前在线人数为:
${applicationScope.count}
</body>
</html>
package com.msb;
//访问手动销毁在线数;销毁域session使用invalidate
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
@WebServlet("/fileout.do")
public class fileout extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
HttpSession session = req.getSession();
session.invalidate();
}
}
posted @   爱豆技术部  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
TOP
点击右上角即可分享
微信分享提示