请求转发与重定向

Posted xfdhh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请求转发与重定向相关的知识,希望对你有一定的参考价值。

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作用域

 

  ④ 访问受保护目录资源

 

 何时使用重定向?

 

  ① 跳转外网资源

 

  ② 改变地址栏路径

 

以上是关于请求转发与重定向的主要内容,如果未能解决你的问题,请参考以下文章

请求转发与重定向

servlet请求转发与重定向的区别

转发与重定向

Servlet 及 请求转发与重定向

转发与重定向的区别

JSP ---[JSP九大内置对象 & 请求转发与重定向]