怎么用session保存用户登录信息,在所有的servlet中都能获取到session中的值,我试过,输出session的Id不同

servletA:HttpSessionsession=request.getSession();session.setAttribute("id",id);servle... servletA:HttpSession session = request.getSession(); session.setAttribute("id", id);
servletB:HttpSession session = request.getSession(); session.getAttribute("id");得到的值正确
servletC:HttpSession session = request.getSession(); session.getAttribute("id");得到的值为空null;
B和C的区别就是A跳到B,而没有跳到C;
展开
 我来答
召秋梵悌p1
2012-05-08 · TA获得超过2282个赞
知道小有建树答主
回答量:616
采纳率:80%
帮助的人:663万
展开全部
session的作用范围是一个会话内。
正常情况下,先执行servletA,往session中设置id的值。然后调用servletB和servletC,都可以得到这个值。(除非调用servletC时用的是另外一个浏览器,比如前面用IE,后面用火狐,呵呵)。
注意前后顺序,先A,然后再其他。有时间多刷新几次servletC,应该没问题的。
更多追问追答
追问
不在servletA中调用B和C呢?单独使用B和C不行吗
追答
可以。但要在同一个浏览器里。比如调完A之后,直接改写URL,调B或者C都可以。不一定要用跳转。
碧茂科技
2023-10-18 广告
作为上海碧茂信息科技有限公司的工作人员,对于Hadoop集群中小文件过多的问题,可以采取以下处理方法:1. 使用Hadoop Archive(HAR)文件技术。HAR是一种Hadoop文件系统中的归档格式,可将小文件组合成一个大文件,从而降... 点击进入详情页
本回答由碧茂科技提供
czqczqcg
2012-05-08
知道答主
回答量:5
采纳率:0%
帮助的人:5.2万
展开全部
使用HttpSession共享的对象仅在会话的生存期中可被访问,而使用ServletContext共享的对象在web应用程序的生存期中可被访问。你可以通过ServletContext的setAttribute方法保存信息。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
没有响应m2
2012-05-08 · TA获得超过8386个赞
知道大有可为答主
回答量:7579
采纳率:33%
帮助的人:3351万
展开全部
你从A跳转到B 也得从B跳转的C啊
追问
在servletA中保存了登录用户信息,进入了主页面index.jsp
在index.jsp页面中可使用用户名
在index.jsp页面中想查看用户信息,执行servletC,获取用户信息,但却显示未登录
追答
.你必须先执行过最少一次
HttpSession session = request.getSession(); session.setAttribute("id", id);
这样你的session的属性里才会有值 才能用session.getAttribute取到值
还有说道用户登录 jsp关于用户信息可以全靠web.xml配合容器的xml文件完成 不需要写一行java代码(当然用数据库保存就是另外一说了)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式