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>


分不多了。请见谅。搞了好久没整明白。
...全文
138 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
twqllq98849577 2015-10-17
  • 打赏
  • 举报
回复
个人觉得看看你返回的JSESSIONID与浏览器提交的JESSIONID是否相同
[ 2021年,将Spring全家桶的课程进行Review,确保不再有顺序错乱等问题导致学员看不懂内容,进入2022年,将Spring的课程进行整理,整理为案例精讲的系列课程,并开始逐步增加高阶的Spring Security等内容,课件将逐步进行上,敬请期待! ]本课程是Spring全家桶案例精讲课程的第二部分Spring MVCSpring案例精讲课程以真实场景、项目实战为导向,循序渐进,深入浅出的讲解Java网络编程,助力您在技术工作中更进一步。 本课程聚焦Java Spring的Web知识点,主要是关于Spring MVC的应用,包含:表单的增删改查、国际化、过滤器、拦截器、日志Log4j2及slf4j的使用、主题更改网站皮肤及样式、文件上等的案例讲解,并且最后以一个SSM(Spring+Spring MVC+Mybatis)贯穿前后台的案例作为Spring MVC课程的终奖, 从而使大家快速掌握Spring的基础核心知识,快速上手,为面试、工作等做好充足准备。 由于本课程聚焦于案例,即直接上手操作,对于Spring的原理等不会做过多介绍,希望了解原理等内容的需要通过其他视频或者书籍去了解,建议按照该案例课程一步步做下来,之后再去进一步回顾原理,这样能够促进大家对原理有更好的理解。 【通过Spring全家桶,我们保证你能收获到以下几点】 1、掌握Spring全家桶主要部分的开发、实现2、可以使用Spring MVCSpring Boot、Spring Cloud及Spring Data进行大部分的Spring开发3、初步了解使用微服务、了解使用Spring进行微服务的设计实现4、奠定扎实的Spring技术,具备了一定的独立开发的能力  【实力讲师】 毕业于清华大学软件学院软件工程专业,曾在Accenture、IBM等知名外企任管理及架构职位,近15年的JavaEE经验,近8年的Spring经验,一直致力于架构、设计、开发及管理工作,在电商、零售、制造业等有丰富的项目实施经验 【本课程适用人群】如果你是一定不要错过!  适合于有JavaEE基础的,如:JSP、JSTL、Java基础等的学习者没有基础的学习者跟着课程可以学习,但是需要补充相关基础知识后,才能很好的参与到相关的工作中。 【Spring全家桶课程共包含如下几门】 

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧