重定向
之前的写法:response.setStatus(302); response.setHeader("Location"," 跳转的位置");
现在的写法:response.sendRedirect(" 跳转的位置 ")
1、地址上显示的是最后那个资源的路径地址
2、请求的次数最少两次,第一次请求到服务器,经过处理,重定向响应客户端,返回一个302 以及一个地址,浏览器根据这个地址 执行再一次的访问
3、可以跳转到任意的路径,不是同一个工程也可以跳转
4、效率稍微低一点,执行了两次请求
5、后续的请求,没有办法使用获得request对象设置的数据,或者说是没办法使用上一次的request对象,因为不是同一个请求,是两次不同的请求
请求转发
request.getRequestDispatcher(" ").forword(request,response);
1、地址上显示的是Servlet的那个地址,,,返回 200 ok
2、只有一次的请求,服务器帮客户端执行了后续的工作
3、只能跳转到自己项目的工程路径
4、效率稍微高一点,执行了一次请求
5、后续的请求可以获得上一次request设置的数据,可以使用上一次的request对象