请求重定向之后依旧有对象数据

来源:4-11 阶段案例——实现用户登录

溯白

2019-09-29 15:06

请求重定向

客户端行为,response.sendRedirect(),从本质上讲等同于两次请求,前一次的请求对象不会保存,地址栏的URL地址会改变。

请求转发

服务器行为,request.getRequestDispatcher().forward(req,resp);是一次请求,转发后请求对象会保存,地址栏的URL地址不会改变。

if("admin".equals(username) && "admin".equals(password)){	
    session.setAttribute("loginuser", username);	
    //request.getRequestDispatcher("login_succes.jsp").forward(request, response);	
    response.sendRedirect("login_succes.jsp");
    }else{	
        response.sendRedirect("login_failure.jsp");
        }

我把请求转发注释掉,改成请求重定向,发现url的确变了,但是http://img2.mukewang.com/5d9057ac00012e8104510068.jpg用户名admin还有,按照定义,重定向不应该会把对象数据消除么?

写回答 关注

2回答

  • 墨鸦
    2019-09-30 10:06:02
    已采纳

    因为session.setAttribute("loginuser",username);获取了对象属性值

  • 慕码人8394073
    2020-04-16 18:21:15

    你设置了session

JAVA遇见HTML——JSP篇

Java Web入门级教程JSP,带你轻松的学习JSP基础知识

248278 学习 · 3071 问题

查看课程

相似问题