【问题标题】:Spring PetClinic and HttpRequest sessionSpring PetClinic 和 HttpRequest 会话
【发布时间】:2012-07-30 15:52:19
【问题描述】:

我正在使用 SpringPetClinic 应用程序,并且正在考虑捕获特定请求的 HttpRequest 会话的方法。我想为请求捕获唯一的会话 ID,以跟踪该请求所做的所有方法调用,并使用会话 ID 将其绑定在一起。想法是在控制器中获取 HttpRequest 会话,将其存储在 Threadlocal 变量中并使用该变量的值,并在调用方法之前和调用完成相同方法之后附加日志字符串。

我的问题是,在 SpringMVC 项目的控制器类中获取 HttpRequest 会话的最佳方式是什么?

【问题讨论】:

    标签: java spring session spring-mvc


    【解决方案1】:

    使用带有HttpSession 类型参数的@InitBinder method

    @InitBinder
    public void initBinder(HttpSession session) {
        myThreadLocal.set(session.getSessionId());
    }
    

    【讨论】:

      【解决方案2】:

      应该这样做

      private @Autowired HttpServletRequest request;
      

      【讨论】:

        猜你喜欢
        • 2010-10-09
        • 1970-01-01
        • 2014-10-17
        • 2015-01-03
        • 2011-03-25
        • 2013-05-27
        • 1970-01-01
        • 2011-04-08
        • 1970-01-01
        相关资源
        最近更新 更多