请求转发与重定向

左心房为你撑大大i 提交于 2019-11-28 11:10:18

1、原理图解

2、重定向代码

  response.setStatus(302);  //资源重定向

  response.setHeader("location","路径");  //设置响应头,跳转到指定页面

  或者直接  response.sendRedirect("路径");

  浏览器延迟X秒重定向:response.setHeader("refresh","X;url=客户端绝对路径");

3、请求转发代码

  request.getRequestDispatcher("路径").forward(request,response);

4、WEB-INF是内部资源,不能通过浏览器直接访问

  但可以通过请求转发进行访问

5、二者区别

  请求转发只有一次请求,重定向是两次请求

  请求转发只能访问服务器内部资源,重定向可以定向到外部资源

  请求转发的地址栏不发生改变,重定向的地址栏发生改变

  请求转发时request作用域依然有效,重定向request作用域失效

6、那么何时使用请求转发?

 

  ① 要求安全,不暴露程序路径

 

  ② 要求高效

 

  ③ 使用request作用域

 

  ④ 访问受保护目录资源

 

 何时使用重定向?

 

  ① 跳转外网资源

 

  ② 改变地址栏路径

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!