重定向
以前的写法
response.setStatus(302);
response.setHeader(“Location”, “LoginSuccess.html”);
现在的写法
response.sendRedirect(“LoginSuccess.html”);
特点:
1. 地址上显示的是最后资源的路径地址(200)
2. 请求次数最少有两次,服务器在第一次请求后,返回302和一个地址,浏览器根据这个地址执行第二次访问
3. 可以跳转到任意路径,不是本工程的也可以
4. 效率较低,执行两次请求
5. 后续的请求没法使用上一次的request存储的数据,因是两次不同的请求(request.setAttribute(arg0,arg0))
请求转发
写法
request.getRequestDispatcher(“LoginSuccess.html”).forward(request, response);
特点:
1. 地址上显示的是请求Servlet的地址(302)
2. 请求次数只有一次,因为是服务器内部帮客户端执行了后面的工作
3. 只能跳转本工程的资源路径
4. 效率较高,因只执行一次请求
5. 可以使用上一次的request存储的数据