请求重定向和请求转发的区别

请求重定向
1 )地址栏会发送变化,变化成重定向之后的地址,相当于第二次请求。
2 )请求重定向当前 web 应用的资源,可以是其他 web 应用,甚至是其他站点
3 )调用者和被调用者处于不同的请求中。如果把数据放入 request 域中,被调用者不能得到 request 域中的数据。
 
请求转发
1 )地址栏不会发送变化
2 )只能跳转当前 web 应用的资源,不能跳转到其他 web 应用或者其他站点
3 )调用者和被调用者处于同一个请求,如果把数据放入 request 域中,被调用者能够从 rquest 域中得到数据。

代码编写的区别:
1 )请求重定向
response.sendRedirect(request.getContextPath()+"/index.jsp");
或者
response.setStatus(302);
respooen.setHeader("location",request.getContextPath()+"/index.jsp");

2 )请求转发
request.getRequestDispatcher("/index.jsp").forward(request,response)
通过上述代码也可以发现区别,重定向是通过response对象来完成的,而转发是通过request对象来完成的.


定时跳转页面设置
respooen.setHeader("refresh","秒数;url=跳转的路径");//指定秒数后跳去某个页面
等效于在页面上设置meta标签
<meta http-equiv="refresh" content="3;url=/day10/refresh2.html">

猜你喜欢

转载自blog.csdn.net/mchenys/article/details/80761273