专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 一文告诉你SpringMVC获取session的方法

一文告诉你SpringMVC获取session的方法

更新时间:2022-03-25 10:12:30 来源:赢咖4 浏览1239次

很多初学Java的小伙伴对SpringMVC获取session的方法还不是很了解,下面就由小编来给大家进行介绍。

第一种:将HttpSession作为Spring MVC的方法参数传入,直接获取。

直接在Spring MVC 的方法中将参数传入:

public void getSessionAction(HttpSession session){
}

第二种:将HttpServletRequest作为Spring MVC 的方法参数,间接获取

先是获取到request,然后通过request间接的获取到session,代码如下:

public void getSessionAction(HttpServletRequest request){
 HttpSession session = request.getSession();
}

这种方法时比较常见的一种,但是有些人会觉得这种比较麻烦,因为每次使用session都需要传入一个参数。

第三种:通过@Autowired HttpServletRequest request 获取

这种方式类似于我们注入service类的时候是一样的,有些小伙伴第一眼看到这种方式的时候是拒绝的,因为我们都知道,servlet是默认采用单例多线程的方式处理多用户请求的,如果直接把它写成一个全局的变量,会不会是不安全的?不过这里·基于spring注解的,所以基本上可以确保线程的安全性

第四种:使用RequestContextHolder类获取request,间接获取到session

通过使用RequestContextHolder这个类我们可以在不传入HttpServletRequest,直接获取到本次请求中的request。一般使用中我们会对它进行封装,做成一个工具方法进行使用。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>