Spring中有哪几种方法获取HttpSession对象

Spring MVC

可以直接作为Controller的参数传入:

  1. @RequestMapping(value = "/test", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
  2. @ResponseBody
  3. public Map test(HttpSession session, String otherParam) {
  4. //TODO
  5. return null;
  6. }

其它

要获取HttpSession,只需要获取到HttpServletRequest,然后调用HttpServletRequest的getSession方法

1、注解自动注入

  1. @Autowired
  2. private HttpSession session;
  3. @Autowired
  4. private HttpServletRequest request;

2、普通类中获取

  1. HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
  2. request.getSession();
相关推荐
杰克尼31 分钟前
同城拼车项目面试问题_01
spring·面试·职场和发展
Java成神之路-2 小时前
基于 Spring AI+MCP 协议实现大模型调用本地自定义工具
java·spring·springaialibaba
SQL-First布道者2 小时前
我为什么把 MyBatis 从项目中删了?
java·spring·tomcat·mybatis·mybatis plus·spring jdbc
QCodingDev3 小时前
Spring AI 2.0企业级RAG实战:引用校验、无依据拒答与知识治理怎么做?
java·人工智能·spring·ai
名字还没想好☜3 小时前
Java 用 LinkedHashMap 三行实现 LRU 缓存:accessOrder、removeEldestEntry 与线程安全
java·后端·安全·spring·缓存
梁云亮12 小时前
spring整合Junit4
spring
那个松鼠很眼熟w15 小时前
4.Spring-Ai入门案例
java·人工智能·spring
抠脚小弟18 小时前
Spring Cache 使用详解:从入门到实战
java·spring
Ysx19 小时前
把 SQL 从 2700 次降到 4 次:一个 Java 后端对存量报表的 N+1 手术
sql
2301_8000742120 小时前
mysql DQL
数据库·sql·mysql