求java大神给我解释下重定向后session为什么会失效?

下面是我在Servlet里写的验证提交后的表单代码?publicvoiddoPost(HttpServletRequestrequest,HttpServletRespo... 下面是我在Servlet里写的验证提交后的表单代码?
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

response.setContentType("text/html;charset=utf-8");
request.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
String name=request.getParameter("username");
String password=request.getParameter("userpassword");
HttpSession session=request.getSession();
if(name.equals("admin")&&password.equals("admin")){
session.setAttribute("name", name);
request.getRequestDispatcher("Success.jsp").forward(request, response);
}else {
response.sendRedirect("index.jsp");
}
}
我的问题是当把request.getRequestDispatcher("Success.jsp").forward(request, response);改成response.sendRedirect("Success.jsp");重定向到成功页面后session的值为啥就取不到了?
展开
 我来答
pieryon
2014-10-17 · 知道合伙人数码行家
pieryon
知道合伙人数码行家
采纳数:14410 获赞数:166869
获取软件设计师高级职称 万达金融最佳创新奖

向TA提问 私信TA
展开全部
你好,你这样redirect掉的话要有个session保持的动作,因为链接彻底从A容器转到B容器了,这样session很难保持的!
追答
亲,记得采纳
jxcome2010
2014-10-17 · TA获得超过252个赞
知道小有建树答主
回答量:178
采纳率:100%
帮助的人:150万
展开全部
HttpSession session=request.getSession();

改为
HttpSession session=request.getSession(true);

下一次取session的时候
HttpSession session=request.getSession(false);
你是怎么取值的?el表达式?还是在java代码里面
追问
下一次取值是在jsp页面里面了是session.setAttribute("name");
追答
session.getAttribute("name");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式