如何在Spring MVC中存储会话

dak*_*ull 37 java spring-mvc httpsession

在Spring MVC(2.5)Web应用程序中存储用户的会话相关数据(例如,用户已执行的最近操作的日志)的最佳方法是什么?

使用经典的javax.servlet.http.HttpSession或在控制器bean中指定scope ="session",并将数据存储在会话对象中?

ska*_*man 37

会话范围的bean(使用scope="session")是最干净的方法.这消除了自己与会话交互的需要.

如果要将会话范围的bean自动装入控制器,则需要使控制器以会话为范围,或者使用范围代理将其连接到单个控制器,如此处所述.这两种方法都是有效的.

  • @Dick:请求范围的bean会带来性能损失,但只要您的控制器没有昂贵的自定义初始化进程,或者您的流量不是太高,它就不会很重要. (4认同)
  • 你能提供一个在控制器中使用会话范围的bean的例子吗? (2认同)