怎么把session从一个servlet传到另一个servlet啊?
用户登录进入到一个servlet,如果验证成功,则将用户对象保存到session中,然后跳转到另一个servlet中,要求在另一个servlet得到第一个session中...
用户登录进入到一个servlet,如果验证成功,则将用户对象保存到session中,然后跳转到另一个servlet中,要求在另一个servlet得到第一个session中的值,要怎么写?
展开
6个回答
展开全部
这就是单点登陆(sso)所要解决的问题,两个不同的servlet,他们的session是完全不搭边的,单点登陆的处理方式是只要成功登陆一次,就会在以后所有的请求中加入一个标记,一般都是在请求头中加入一个键值对,类似于session id,这一步是在请求到达应用之前完成的,当请求到达应用时,应用只要检查这个标记就可以了
根据你的要求,提供以下思路:
登陆成功第一个servlet时,写session,同时在response的header中写入session的值,用response.sendRedirect跳转到第二个servlet,在这个servlet中把之前写入的值取出来;如果用forward跳转,就在request里写值,setAtrribute方法,同样在第二个servlet中取出来
根据你的要求,提供以下思路:
登陆成功第一个servlet时,写session,同时在response的header中写入session的值,用response.sendRedirect跳转到第二个servlet,在这个servlet中把之前写入的值取出来;如果用forward跳转,就在request里写值,setAtrribute方法,同样在第二个servlet中取出来
展开全部
登录的时候:
String username = request.getParameter("username");
session.setAttribute("username",username);
取值时
String username = session.getAttribute("username");
if(username==null){
System.out.println("未登录");
}else{
System.out.println("已登录");
}
String username = request.getParameter("username");
session.setAttribute("username",username);
取值时
String username = session.getAttribute("username");
if(username==null){
System.out.println("未登录");
}else{
System.out.println("已登录");
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一个servlet
String ID=request.getParameter("ID");
//session信息
session.setAttribute("ID",ID);
第二个servlet
HttpSession hs = request.getSession();
String StudentID=(String)hs.getAttribute("ID");
String ID=request.getParameter("ID");
//session信息
session.setAttribute("ID",ID);
第二个servlet
HttpSession hs = request.getSession();
String StudentID=(String)hs.getAttribute("ID");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
session在当前的project下都是可以用的,它不像request那样是以请求为作用域的,建议你看一下那几个共享对象的作用范围,对你会有帮助的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接拿来用就好了,session本来就是共享的~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询