springboot实现在线用户统计
1、第一步骤:创建一个springboot的项目(也可以创建一个简答的java项目)。1、 打开创建页面 选择File-new-project..2、选择创建的项目为spring initializr 进入springboot项目创建步骤(也可以选择类型java,创建一个普通java项目)3、输入项目名字,选择依赖web(根据项目需求选择,此次需要),选择存放目录-完成(Finish)
2、第二步骤:编写HttpSessionLisener监听器。1、新建类UserStatist坡纠课柩icsListener实现枣娣空郅javax.servlet.http.HttpSessionListener监听器2、重写sessionCreated和sessionDestroyed方法,声明用户数量变量。具体代码如下所示:import javax.servlet.annotation.WebListener;import javax.servlet.http.HttpSessionEvent;import javax.servlet.http.HttpSessionListener;@WebListenerpublic 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添加@ServletComponentScanimport org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.web.servlet.ServletComponentScan;@ServletComponentScan@SpringBootApplicationpublic class ExcelimportApplication { public static void main(String[] args) { SpringApplication.run(ExcelimportApplication.class, args); }}
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;@RestControllerpublic 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; }}
4、第四步骤:测试功能。1、启动项目如图一所示。2、在第一个浏览器URL地址输入“张三”登录。3、在第二个浏览器URL地址中输入“李四”登录。4、在第一个浏览器地址栏中输入“张三”登出。测试成功!