請求重定向之后依舊有對象數據
請求重定向
客戶端行為,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的確變了,但是用戶名admin還有,按照定義,重定向不應該會把對象數據消除么?
2019-09-30
因為session.setAttribute("loginuser",username);獲取了對象屬性值
2020-04-16
你設置了session