springboot实现在线用户统计

      Spring Boot是由Pivotal团队供给的全新框架 , 其设计目标是用来简化新Spring应用的初始搭建以及开辟过程 。 该框架利用了特定的体例来进行设置装备摆设 , 从而使开辟人员不再需要界说样板化的设置装备摆设 。 经由过程这种体例 , Spring Boot致力于在蓬勃成长的快速应用开辟范畴(rapid application development)当作为带领者 。

需要这些哦
电脑
intellij IDEA
方式/
1第一
:建立一个springboot的项目(也可以建立一个简答的java项目) 。
【springboot实现在线用户统计】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;@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 添加@ServletComponentScan
import 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);    }}

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;@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;    }}

推荐阅读