web之请求转发与重定向

Posted 傲娇的大王

tags:

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

请求转发:

  从servlet1请求转发到servlet2 , 在servlet1完成一部分的功能,再跳转到servlet2,继续完成剩下的功能.请求转发是服务器内部把对一个request/response的处理权,移交给另外一个对于客户端而言,它只知道自己最早请求的那个A,而不知道中间的B,甚至C、D。 传输的信息不会丢失。

语法 :

request.getRequestDispatcher(String path).forward(request,response);

参数 :

  path : 要转发的路径(资源的名称)

特点 :

(1) 浏览器地址栏不发生改变,不会变为目标地址
(2) 整个流程都是在服务器端完成的
(3) 整个过程是一个请求,一个响应
(4) 共享同一个请求中的数据
(5) 最终响应给浏览器的 是由servlet2来决定
(6) 请求转发不能跨域访问,只能跳转到当前应用中的资源
(7) 请求转发可以访问WEB-INF目录中的资源

 

 

重定向:

语法 :

response.sendRedirect(String url);

参数 :

  url : 目标资源地址

特点 :

(1) 浏览器地址栏发生改变 , 变成目标地址
(2) 在sendRedirect()里面是两个请求,两个响应
(3) 因为URL重定向是两个请求互不干扰,相互独立 , 所以不共享请求中的数据
(4) 最终响应给浏览器的 是由servlet2来决定(相当于把目标地址拷贝到浏览器地址栏 , 敲回车)
(5) URL重定向能跨域访问 , 可以访问其他应用中的资源
(6) URL重定向不能访问WEB-INF目录中的资源
(7) 因为是从客户端浏览器进行再次发送请求,所以在重定向过程中,之前传输的信息会被丢失。

 

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

请求与重定向的区别

servlet之转发与重定向的区别

idea创建简单web项目分析Servlet的请求转发与重定向的区别

转发与重定向

请求转发与重定向

SpringMVC入门学习----SpringMVC中的转发与重定向