spring HandlerInterceptorAdapter 内获取session和controller内session id不一致

bearcat 发布于 2013/11/09 12:27
阅读 2K+
收藏 0

在spring HandlerInterceptorAdapter内获取session id和在controller内获取session id,两个session id不一致,

public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
System.out.println("注入" + request.getSession().getId());
}

@RequestMapping(value = "/login.html", method = {RequestMethod.GET, RequestMethod.HEAD})
public String login(HttpServletRequest request, HttpServletResponse response, HttpSession session) {
System.out.println("登录1>" + request.getSession().getId());
}

上面两段代码获取到的session id竟然不是同一样,

使用jetty8.1.2运行。

<context:component-scan base-package="com.test" use-default-filters="true">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
<context:include-filter type="annotation" expression="org.springframework.web.bind.annotation.ControllerAdvice"/>
</context:component-scan>

<mvc:annotation-driven/>

这个是dispatcher-servlet.xml配置。


哪位遇到过?

加载中
0
刘志成
刘志成

试打印一下request

System.out.println("注入request" + request);

System.out.println("登录request>" + request);

0
hackpro
hackpro
我也遇到这们的情况,简单粗暴的方式解决,但还是不明白原因
0
hackpro
hackpro
打到这个问题了 看看你的代码里是不是用到这个@SessionAttributes注解了,就是他造成的
返回顶部
顶部