问题描述
想用session对象实现页面传值的问题,前一个页面是session.setAttribute("itemslist",itemslist);response.sendRedirect("Show.jsp");在Show.jsp中用getAttribute可以得到itemslist的值,但是如果改成下面这个response.sendRedirect("http://localhost:8080/ShoppingCart/Show.jsp");在Show.jsp中得到的值就是null了,请问这两个有什么区别么?
解决方案
解决方案二:
你是把对象放到session中的,当你执行完这个操作:response.sendRedirect("http://localhost:8080/ShoppingCart/Show.jsp");等于是开启了另一个会话。不是同一个会话了。当然就没有了。
解决方案三:
引用1楼licip的回复:
你是把对象放到session中的,当你执行完这个操作:response.sendRedirect("http://localhost:8080/ShoppingCart/Show.jsp");等于是开启了另一个会话。不是同一个会话了。当然就没有了。
+1session是基于一个会话中存取的。
解决方案四:
在你这个问题上它们没区别都,能得到HttpSession保存的东西,请楼主仔细检查。
解决方案五:
不管show.jsp还是http://..../show.jsp都能获取到session里面的内容...
解决方案六:
当你用http://开头的时候容器当做跳转到其他应用的。所以会直接定位到该URL。
解决方案七:
引用1楼licip的回复:
你是把对象放到session中的,当你执行完这个操作:response.sendRedirect("http://localhost:8080/ShoppingCart/Show.jsp");等于是开启了另一个会话。不是同一个会话了。当然就没有了。
这个对吗?如果你放在session中,他们的值都应该可以去到,除非你进行了跨域的操作。建议楼主好好检查下自己的代码。看看是否是大小写等细节问题
解决方案八:
检查域名是不是一致。
解决方案九:
引用楼主hotmail1215的回复:
想用session对象实现页面传值的问题,前一个页面是session.setAttribute("itemslist",itemslist);response.sendRedirect("Show.jsp");在Show.jsp中用getAttribute可以得到itemslist的值,但是如果改成下面这个response.sendRedirect("http://local……
正解
解决方案十:
你是把对象放到session中的,当你执行完这个操作:response.sendRedirect("http://localhost:8080/ShoppingCart/Show.jsp");等于是开启了另一个会话。不是同一个会话了。当然就没有了正解
解决方案十一:
试试啊
解决方案十二:
一个站点是否可能有多个网卡地址在监听,比如你第一次访问时用的是http://192.168.0.1后来一跳变成了http://localhost?