关于转发重定向以及包含

Posted

tags:

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

一.请求重定向:
    1.原始方式
        response.setStatus(302);
        response.setHeader("Locaton","/xxxxxx");
    2.快捷方式
        response.sendRedirect("/xxxx");
    *3.额外的方式
        response.setHeader("refresh","0;url=/xxxx");
        
        <c:redirect>
二、请求转发
    1.
        ServletContext.getRequestDispatcher().forward();
    2.
        request.getRequestDispatcher().forward();
    3.
        pageContext.forward("");

        <jsp:forward>

三、请求包含
    1.
        ServletContext.getRequestDispatcher().include()
    2.
        request.getRequestDispatcher().include()
    3.
        <%@ include file=""%>
    4.
          pageContext.include("/index.jsp");
      5.
          <jsp:include/>
      6.
          <c:import/>

 

转发与重定向的区别:

1.重定向的执行过程:Web服务器向浏览器发送一个http响应--》浏览器接受此响应后再发送一个新的http请求到服务器--》

      服务器根据此请求寻找资源并发送给浏览器。它可以重定向到任意URL,不能共享request范围内的数据。

2.重定向是在客户端发挥作用,通过新的地址实现页面转向。

3.重定向是通过浏览器重新请求地址,在地址栏中可以显示转向后的地址。

4.转发过程:Web服务器调用内部方法在容器内部完成请求和转发动作--》将目标资源发送给浏览器,它只能在同一个Web应用中

      使用,可以共享request范围内的数据。

5.转发是在服务器端发挥作用,通过forward()方法将提交信息在多个页面间进行传递。

6.转发是在服务器内部控制权的转移,客户端浏览器的地址栏不会显示出转向后的地址。

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

关于转发和重定向的路径问题!

关于请求转发重定向url重写

SpringMVC框架如何实现请求转发和重定向呢?

请问重定向与请求转发有啥区别?

关于网络请求302,重定向的问题

关于servlet中重定向转发的地址问题