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

转载于:https://www.cnblogs.com/EasonJim/p/7460111.html

Spring中获取Session的方法汇总相关推荐

  1. Spring中获取request的方法及其线程安全性分析

    在使用Spring MVC开发Web系统时,经常需要在处理请求时使用request对象,比如获取客户端ip地址.请求的url.header中的属性(如cookie.授权信息).body中的数据等.由于 ...

  2. 在一般处理程序(handler)中获取session的方法

    这些天做用户实施警告系统 其中在完成时时监控的时候 ,由于需要时时监控网站的所有用户信息 但是在一般处理程序中想要获取session状态但是抛出异常说上下文中不存在session 在 aspx和asp ...

  3. java 普通类request_[Java教程]spring在普通类中获取session和request

    [Java教程]spring在普通类中获取session和request 0 2014-08-12 08:01:13 在使用spring时,经常需要在普通类中获取session,request等对像. ...

  4. Spring 中获取 request 的几种方法,及其线程安全性分析

    概述 在使用Spring MVC开发Web系统时,经常需要在处理请求时使用request对象,比如获取客户端ip地址.请求的url.header中的属性(如cookie.授权信息).body中的数据等 ...

  5. 转:Spring Boot 获取 HttpServletRequest 的方法

    转自: Spring Boot 获取 HttpServletRequest 的方法 - 简书本文介绍 Spring Boot 2 获取 HttpServletRequest 的方法. 目录 概述 方法 ...

  6. React-Native中Animate动画使用方法汇总整理(四)之timing利用easing实现动画的灵活变换

    React-Native中Animate动画使用方法汇总整理(四)之timing利用easing实现动画的灵活变换 写作时间:2021/9/23 React-Native版本:0.63.2 目标平台: ...

  7. HttpHandler(ashx)中获取Session状态

    HttpHandler(ashx)中获取Session状态 这里为自己或后来困惑的朋友做一个提醒的记录,当想要在HttpHandler(ashx文件)中访问Session的状态值时,需要显式的实现一个 ...

  8. Java笔记-通过反射获取注解及Spring中获取某包下的所有class文件

    首先来看看使用反射来获取注解名: 只需在获取class后调用getAnnotation方法即可,如下 这里是获取JPA映射b表名,Table.class,使用下面这个可以获取表名 import jav ...

  9. React-Native中Animate动画使用方法汇总整理(六)之缩放的实现

    React-Native中Animate动画使用方法汇总整理(六)之缩放的实现 写作时间:2021/9/24 React-Native版本:0.63.2 目标平台:iOS(安卓平台尚未检测) 整理的进 ...

最新文章

  1. python基础数据实例_Python基本数据类型及实例详解
  2. gcc编译器和mysql源码哪个难_源码编译mysql 5.5
  3. python培训班时间 费用-Python培训班大概多少钱?老男孩Python培训
  4. 3gpp协议_春天工作室lt;3GPP规范翻译系列gt;1:TS37340协议翻译(导读)第一部分...
  5. MySQL 输入输出 XML
  6. apache jmeter 使用简介
  7. Android or java https ssl exception
  8. ssh的mysql分页查询_在SSH框架下按条件分页查询
  9. SpringMVC中实现文件上传
  10. 音乐流媒体服务器Navidrome
  11. php导出excel数据
  12. 【软件测试基础】文档测试
  13. 广东省潮州市谷歌卫星地图下载
  14. linux无线网卡模拟ap,在 openSUSE 上使用 create_ap 创建虚拟 WiFi 热点来方便使用 KDE Connect 连接手机...
  15. 用python算股票β系数_请教达人:Stata中计算多只股票月度beta系数的do文件怎么编写?...
  16. vs项目文件夹进行分类管理
  17. c语言随机生成整数存放一维数组_从创建数组到矩阵运算,一文带你看懂Numpy
  18. 虚拟内存与虚拟存储器的区别
  19. 客户端连接WSUS服务器时代码80244010 windows更新遇到未知错误
  20. 使用Logistic回归预测贷款违约

热门文章

  1. 《AngularJS in Action》—— 与作者Lukas Ruebbelke的一次访谈
  2. 个人重构之一般用户实现
  3. haproxy对mysql集群进行负载均衡
  4. docker centos7 chrome 安装并且支持局域网远程调试
  5. 研发过程管理导图-第一稿(转)
  6. 在一个字符串寻找另一个字符串,并且输出短字符串头字母在长字符串的下标...
  7. CentOS 6.x limits changed on a existing running process
  8. 【专题六】虚拟化实施人才和培训的瓶颈如何解决? ——虚拟化人才逆势抢手 5项技能最关键...
  9. sql server 存储过程 SET NOCOUNT ON?
  10. omnicppcomplete - a Vim plugin [转载]