【问题标题】:Spring MVC + Session ManagementSpring MVC + 会话管理
【发布时间】:2012-04-30 21:19:37
【问题描述】:

我正在开发一个使用 Spring 框架和 Hibernate 作为 ORM 的 Web 应用程序。我想创建一个注册和登录页面。登录时,应为特定用户创建会话(如发送 cookie 等)。由于我是春天的新手,我不知道如何完成这项工作。有人可以给我一个很好的教程吗?谢谢!

【问题讨论】:

  • Hibernate 与您的问题有什么关系?你不会混淆 HTTP 会话和 Hibernate 会话吗?这些没有共同点。
  • 嗨。我不知道细节。因此,我提到了所有细节。我如何在春季创建 HTTP 会话?
  • 创建会话由底层 JEE Web 容器完成,作为 servlet 规范合同的一部分。 Spring MVC 建立在标准 servlet 规范之上,因此创建会话不需要做任何特别的事情。至于教程,有很多。只需搜索“spring mvc 教程”,添加您需要的任何额外技术流行语,您一定会找到一些东西。

标签: java spring session spring-mvc


【解决方案1】:

HTTP 会话与 Hibernate 无关,与 Spring MVC 无关。它是标准 Servlet API 的一部分。

只要您调用request.getSession()requestHttpServletRequest)或执行 JSP(除非您已专门配置它以避免使其启动会话),会话就会启动。

您只需要假设会话就在那里。当你从请求中获取它时,它会自动启动,如果它还不存在的话。

一旦用户通过身份验证,您就可以在会话中存储一些用户信息。但未经身份验证的用户也有一个会话。

【讨论】:

    【解决方案2】:

    看看这个,它描述了你应该如何使用 Spring 管理安全

    http://www.springsource.org/spring-security/

    【讨论】:

      【解决方案3】:

      正如已经指出的,这与 Hibernate 无关,请查看 getting started Spring Security 文档

      【讨论】:

        【解决方案4】:

        您可以使用 @SessionAttributes({"form"}) 来保存表单数据,或者您可以在控制器签名中使用 HttpSession 变量,spring 将为您提供 servlet 会话对象。检查http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mvc.html(第 15.3.2.3 节)

        【讨论】:

          猜你喜欢
          • 2020-12-16
          • 1970-01-01
          • 2013-12-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多