springboot实现在线用户统计

2025-11-06 01:57:13

1、第一步骤:创建一个springboot的项目(也可以创建一个简答的java项目)。

1、 打开创建页面 选择File-new-project..

2、选择创建的项目为spring initializr 进入springboot项目创建步骤(也可以选择类型java,创建一个普通java项目)

3、输入项目名字,选择依赖web(根据项目需求选择,此次需要),选择存放目录-完成(Finish)

springboot实现在线用户统计

springboot实现在线用户统计

springboot实现在线用户统计

springboot实现在线用户统计

springboot实现在线用户统计

2、第二步骤:编写HttpSessionLisener监听器。

1、新建类UserStatisticsListener实现javax.servlet.http.HttpSessionListener监听器

2、重写sessionCreated和sessionDestroyed方法,声明用户数量变量。具体代码如下所示:

import javax.servlet.annotation.WebListener;

import javax.servlet.http.HttpSessionEvent;

import javax.servlet.http.HttpSessionListener;

@WebListener

public class UserStatisticsListener implements HttpSessionListener {    

private static int count = 0;    

@Override    

public void sessionCreated(HttpSessionEvent se) {        

System.out.println("创建session");        

count ++;    

}    

@Override    

public void sessionDestroyed(HttpSessionEvent se) {        

System.out.println("销毁session");        

count --;    

}

}

3、 启动类ExcelimportApplication 添加@ServletComponentScan

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.boot.web.servlet.ServletComponentScan;

@ServletComponentScan

@SpringBootApplication

public class ExcelimportApplication {    

public static void main(String[] args) {        

SpringApplication.run(ExcelimportApplication.class, args);    

}

}

springboot实现在线用户统计

springboot实现在线用户统计

3、第三步骤:控制编写。

新建UserStatisticsController 类

1、后台模拟登录,返回当前登录人数,方法logUser。

2、后台模拟注销账号,返回当前登录人数,方法logOut。

3、session超时自动销毁,也会调用sessionDestroyed方法

4、具体代码如下所示

import com.example.excelimport.listener.UserStatisticsListener;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

@RestController

public class UserStatisticsController {    

@RequestMapping("/logUser")    

public String logUser(HttpServletRequest request, HttpServletResponse response, User user){        

request.getSession().setAttribute("name",request.getParameter("name"));        return request.getParameter("name")+"登录成功!当前在线用户人数是:"+ UserStatisticsListener.count;    

}    

@RequestMapping("/logOut")    

public String logOut(HttpServletRequest request, HttpServletResponse response){        

request.getSession().invalidate();        

return request.getParameter("name")+"登出成功!当前在线用户人数是:"+UserStatisticsListener.count;    

}

}

springboot实现在线用户统计

4、第四步骤:测试功能。

1、启动项目如图一所示。

2、在第一个浏览器URL地址输入“张三”登录。

3、在第二个浏览器URL地址中输入“李四”登录。

4、在第一个浏览器地址栏中输入“张三”登出。

测试成功!

springboot实现在线用户统计

springboot实现在线用户统计

springboot实现在线用户统计

springboot实现在线用户统计

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢