本帖最后由 小石姐姐 于 2018-5-23 16:46 编辑
重定向和转发
//redirect : 重定向 forward : 转发
1.重定向和转发的区别:(redirect和forward的区别)
* 1.重定向的地址栏会发生变化,转发的地址栏不变.
(转发拿到的是同一个request对象,重定向拿到的不是同一个request)
* 2.重定向两次请求两次响应,转发一次请求一次响应.
* 3.重定向路径需要加工程名,转发的路径不需要加工程名.
* 4.重定向可以跳转到任意网站,转发只能在服务器内部进行转发(当前工程中).
2.转发/跳转
* 5秒钟后跳转 //Refresh :定时刷新/跳转(可跳到任意服务器,会改变路径))
response.setHeader("Refresh", "5;url=/day09/demo5-refresh/index.html");
* 转发(地址栏的请求路径不变)
request.getRequestDispatcher(String path).forward(request,response);
* 跳转(可以跳到任意服务器,会改变路径)
response.setStatus(302);
response.setHeader("Location", "/userlogin/skip_page/skip.html");
3.重定向:
* response.sendRedirect(String path); -- 完成重定向
4.转发和重定向的区别:
request.getRequestDispatcher(String path).forward(request,response);//转发
response.sendRedirect(String path); //重定向
* 1.重定向的地址栏会发生变化,转发的地址栏不变.
(转发拿到的是同一个request对象,重定向拿到的不是同一个request)
* 2.重定向两次请求两次响应,转发一次请求一次响应.
* 3.重定向路径需要加工程名,转发的路径不需要加工程名.
* 4.重定向可以跳转到任意网站,转发只能在服务器内部进行转发(当前工程中).
|
|