jsp session问题
问题是这样的
我从a进入B,向B传送了一个用户名(admin)
我再从B进入c,操作完毕,回到B后,用户名(admin)变为null了。
请大师们指点一下
[最优解释]
A
request.getSession().setAttribute("admin","admin");//这里是对象还是字符串?
request.getRequestDispatcher("b的uri").forward(req,res);
B
admin=request.getSession().getAttribute("admin");
request.getSession().setAttribute("admin","admin");
request.getRequestDispatcher("c的uri").forward(req,res);
c
admin=request.getSession().getAttribute("admin");
request.getSession().setAttribute("admin","admin");
request.getRequestDispatcher("b的uri").forward(req,res);
大概是这样的吧,可是我很想知道你在B中是怎么分别获取A中的admin和C中的admin的;
这个页面你是怎么组织的!!!!
是不是你的admin是个对象然后你存的时候把它存成了字符串!
[其他解释]
首先获取text值在A中存入session
String admin = request.getParameter("admin");
HttpSession session = request.getSession(true);
session.setAttribute("admin", admin );
然后在B中调用
HttpSession session = request.getSession(true);
String admin = session.getAttribute("admin");
String admin 就为text的值
C中如果要用同上了
在web.xml中设置session时效
<session-config>
<session-timeout>15</session-timeout>
</session-config>
这里15 就是15分钟
[其他解释]
赞同12楼的。
你还不如在A里存session,因为估计你从c调回b的时候又去执行了设置session的方法,而你又没有从C传回值来所以把之前的值也替换成null了。
[其他解释]
Session是浏览器相关的。在同一个浏览器里面session是相同的(没有阻止COOKIE的情况下).session会将session的id保存在COOKIE里。
[其他解释]
你敢说清楚一点么?ABC是页面还是什么?
你有把需要的东西放在session?
[其他解释]
把数据保存到 session 里面,用的时候取出来,LZ 应该是不了解 request 和 session 的区别。
[其他解释]
我在a页面将admin放入session中,从a进入B,在B中获取了admin,再从B进入c,从c返回B,admin变成了null
[其他解释]