Spring中获取Session的方法汇总

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring中获取Session的方法汇总相关的知识,希望对你有一定的参考价值。

Spring:

web.xml

<listener>
  <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>

在普通bean中使用:

@Autowired  
private HttpSession session;  
  
@Autowired  
private HttpServletRequest request;  

在普通类中使用:

HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();

Spring Boot:

和上面写法一致。

Spring MVC:

必须要有一个request的引用,否则是取不到的。request可以通过控制器传入,有了request自然就可以取到Session了,或者可以通过Spring的WebUtils取Session数据。

拦截器举例:

public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
    String context = (String) WebUtils.getSessionAttribute(request, "context_key");
    return context != null ;
}

普通类:

只能在servlet调用参数,传递过去。

 

参考:

http://blog.csdn.net/qq_15099611/article/details/50886697

以上是关于Spring中获取Session的方法汇总的主要内容,如果未能解决你的问题,请参考以下文章

技术Spring MVC 中获取session的几种方法

Spring中如何获取request的方法汇总及其线程安全性分析

C#-WebForm-★内置对象简介★Request-获取请求对象Response相应请求对象Session全局变量(私有)Cookie全局变量(私有)Application全局公共变量Vi(代码片段

spring mvc技巧

spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段

Spring在service层获取session和request