spring mvc跨Controller传session

pktmalaha 2015-10-17 12:50:15
1.版本3.2.9

2.我在/user/login中获得用户信息.把一个值对象保存到session中 ,可以/order下取不到session中值对象

/user/login的部分代码

User u=userService.getUser(usermail, userpswd);
if(u.getUid()>0){
//S
UserSessionBean usb=new UserSessionBean();
usb.setUid(u.getUid());
usb.setMail(u.getMail());
usb.setToken(ApoUtil.getRandomString(6));
model.addAttribute("aO", usb);

Cookie c=new Cookie("JSESSIONID",s.getId());
response.addCookie(c);
s.setAttribute("usb", usb);
return "redirect:/user/home";
}
return "user_login";


/order中取的代码

int uid=0;
try{
UserSessionBean usb=(UserSessionBean)request.getSession().getAttribute("aO");
System.out.println("--------------------session bean channel/mine:"+usb.toString()+"--------------------");
uid=usb.getUid();
}catch(NullPointerException e){
return "redirect:/user/login";
}

一走到/order控制器的方法只要执行这样的代码。就转到/user/控制器中,可这时/user/显示在线.UserSessionBean就是我说的值对象

applicationContext.xml中配置的这个值对象

<bean ...>
<context:component-scan base-package="com.xxxx.service"></context:component-scan>
<context:annotation-config />
<bean id="aO" class="com.xxxxx.servlet.UserSessionBean" scope="session"></bean>
</bean>


web.xml配置

<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
<servlet>
<servlet-name>a_client</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/a-config.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>a_client</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>


分不多了。请见谅。搞了好久没整明白。
...全文
86 点赞 收藏 1
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
twqllq98849577 2015-10-17
个人觉得看看你返回的JSESSIONID与浏览器提交的JESSIONID是否相同
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2015-10-17 12:50
社区公告
暂无公告