Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SpringMVC在会话中保留用户数据_Spring_Session_Spring Mvc - Fatal编程技术网

SpringMVC在会话中保留用户数据

SpringMVC在会话中保留用户数据,spring,session,spring-mvc,Spring,Session,Spring Mvc,我正在使用springmvc和Hibernate创建应用程序,人们可以在其中注册并在他们的帐户中存储一些数据。 我创建了注册和登录流程。现在我有一个问题,如何保持用户会话?我不想在应用程序的每个页面中保留用户id。 例如:一旦用户登录,他就会到达页面 someurl/overview/1 其中id是用户的id。我希望每个登录的用户的id如下所示: someurl/overview/ 使用Spring在会话中保存用户数据,并在用户关闭站点然后打开站点时保存数据的最佳做法是什么 提前感谢。您可以

我正在使用springmvcHibernate创建应用程序,人们可以在其中注册并在他们的帐户中存储一些数据。 我创建了注册和登录流程。现在我有一个问题,如何保持用户会话?我不想在应用程序的每个页面中保留用户id。 例如:一旦用户登录,他就会到达页面

someurl/overview/1
其中id是用户的id。我希望每个登录的用户的id如下所示:

someurl/overview/
使用Spring在会话中保存用户数据,并在用户关闭站点然后打开站点时保存数据的最佳做法是什么


提前感谢。

您可以通过多种方式在会话中保存用户数据。。最简单的是:

public ModelAndView yourMethod(HttpSession session){

    session.setAttribute("user", 1); 
    return new ModelAndView("home");

}
如果您使用的是spring components,则会话将始终可用,因此只需添加此参数并使用它即可

编辑: 还可以使用Spring的会话属性: 如果它满足你的要求

编辑(感谢@Serge Ballesta将其放在评论中,只是更新了文章供参考)

即使API不强制执行,规范也要求 会话属性不能序列化。如果存储的数据超过 身份证


您可以通过多种方式在会话中保存用户数据。。最简单的是:

public ModelAndView yourMethod(HttpSession session){

    session.setAttribute("user", 1); 
    return new ModelAndView("home");

}
如果您使用的是spring components,则会话将始终可用,因此只需添加此参数并使用它即可

编辑: 还可以使用Spring的会话属性: 如果它满足你的要求

编辑(感谢@Serge Ballesta将其放在评论中,只是更新了文章供参考)

即使API不强制执行,规范也要求 会话属性不能序列化。如果存储的数据超过 身份证


如何在另一个控制器中获取此会话属性?如果您使用的是带有控制器注释的控制器,则只需在参数中添加HttpSession,就可以获得它。无需额外工作。Spring维护会话本身,并在您需要会话时在其组件范围内为您提供。我想在另一个控制器中,如果不创建HttpSession类的新对象,我将无法获取会话属性。请注意:即使API不强制执行它,规范要求所有会话属性都是可序列化的。如果存储了多个id,请考虑一下。如何在另一个控制器中获取此会话属性?如果您使用的控制器带有控制器注释,则只需在参数中添加HttpSession即可。无需额外工作。Spring维护会话本身,并在您需要会话时在其组件范围内为您提供。我想在另一个控制器中,如果不创建HttpSession类的新对象,我将无法获取会话属性。请注意:即使API不强制执行它,规范要求所有会话属性都是可序列化的。想想看,如果存储的不止一个id。可能是dabadaba的副本,谢谢,我正在寻找副本,但出于某种原因没有看到这一个可能是dabadaba的副本,谢谢,我正在寻找副本,但出于某种原因没有看到这一个