java - Spring MVC - session 差异

标签 java session spring-mvc servlets httpsession

通过HttpServletRequest.getSession()获取session和在controller方法中注入(inject)HttpSession有区别吗?

最佳答案

注入(inject) Spring MVC Controller 的 session 对象基本上没有区别:

@RequestMapping(value = "/somepath", method = RequestMethod.POST)
@ResponseBody
public JsonResponse someMethod (HttpSession session)
{
 // play with session attributes
}

以及从 HttpServletRequest 中检索到的 session 对象:

@RequestMapping(value = "/somepath", method = RequestMethod.POST)
@ResponseBody
public JsonResponse someMethod (HttpServletRequest request)
{
  Session session = request.getSession();
  // You are playin with the same session attributes.
}

前一种风格只是为您提供一种获取上下文 HttpSession 对象的工具,方法是将它作为 Controller 参数注入(inject),以便 Spring 处理所有脏东西给你。

关于java - Spring MVC - session 差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25873446/

相关文章:

php - 测试 CodeIgniter session 变量的正确方法是什么?

java - BlackBerry JDE 支持的设备吗?

java - 如何将 ArrayList 的字符串表示形式转换为 ArrayList

java - 是否可以通过 JMX 使 JBoss 中的单个 session 无效?

java - 如何动态地将外部定义的bean定义添加到Spring上下文中?

spring - 如何在 Spring MVC 中将复选框值传递给 Controller

json - Spring @ResponseBody Jackson JsonSerializer 与 JodaTime

java - 从逻辑上解决Java安全错误

java - Eclipse 在 javac 和 IDEA 成功的地方失败

c# - "Remember Me"在服务器上不工作