精华内容
下载资源
问答
  • 主要介绍了详解spring mvc 请求转发和重定向,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 重定向和请求转发区别 1、重定向是两次请求,转发是一次请求,因此转发的速度要快于重定向 2、重定向之后地址栏上的地址会发生变化,变化成第二次请求的地址,转发之后地址栏上的地址不会变化,还是第一次请求的...

    重定向和请求转发的区别

    1、重定向是两次请求,转发是一次请求,因此转发的速度要快于重定向

    2、重定向之后地址栏上的地址会发生变化,变化成第二次请求的地址,转发之后地址栏上的地址不会变化,还是第一次请求的地址

    3、转发是服务器行为,重定向是客户端行为。重定向时浏览器上的网址改变 ,转发是浏览器上的网址不变

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

    5、重定向时的网址可以是任何网址,转发的网址必须是本站点的网址

    在这里插入图片描述
    请求转发
    在这里插入图片描述
    扩展资料:

    网站重定向的注意事项

    1.若准备将服务器上的文件移到其它地方时,须就以下信息正确地通知搜索引擎的爬行程序:

    目标地址:这些文件被移向何方

    移动属性:暂时移走还是永久性移走

    2.对拥有多个域名的网站,专家建议应把那些不想在搜索引擎上推广的域名用301跳转命令来永久性重定向,确保网站实施了正确的301重定向。

    展开全文
  • 文章目录请求转发和重定向图解:重定向请求转发请求转发和重定向区别请求转发和重定向一般用在什么地方: 请求转发和重定向图解:     对于重定向和请求转发总有很多难以分清的小同学,...

    请求转发和重定向图解:

        对于重定向和请求转发总有很多难以分清的小同学,来我们看看这两幅图
    在这里插入图片描述
    在这里插入图片描述

    重定向:response.sendRedirect()

        相当于用户从浏览器输入某个url地址或通过按钮去(servlet1)查找资源,但是在这个地址中没有用户需要的资源,这时候用户就告诉浏览器(response)让浏览器去访问另一个有这个资源的url地址(servlet2),这时候浏览器收到响应,然后再次向有这个资源的url地址(servlet2)发起请求,然后这个资源的地址(servlet2)将用户查找的东西响应给浏览器。
        就相当于张三找李四借书,李四没有,但是李四告诉张三在王五哪里有这本书,然后张三就去找王五借书,王五将书借给张三。【这里面王五不知道李四的存在】

    请求转发:request.getRequestDispatcher().forward(req,resp)

        相当于用户从浏览器向第一个url(Servlet1)访问数据,但是这个Servlet1没有用户要的数据,但是它(Servlet1)直接调用另一个地址(Servlet2)访问这个数据,然后将数据响应(response)给浏览器,用户就接收到数据【这里面可以嵌套多个请求转发】
        就相当于张三找李四借书,李四没有,但是李四去找王五,告诉王五,张三需要借你的书,然后王五将书借给了张三。【王五知道李四存在】

    请求转发和重定向的区别:

    • 重定向
    1. 两次请求,两次响应,前一次的请求对象不会保存
    2. 重定向不能携带数据
    3. 重定向地址栏url发生改变
    4. 不能够访问WEB-INF下的资源
    5. 重定向是一种客户端的行为,相当于用户直接使用url访问两次
    • 请求转发
    1. 一次请求,一次响应,请求对象request保留
    2. 转发会携带数据
    3. 转发地址栏url不会发生变化
    4. 可以访问WEB-INF下的资源
    5. 请求转发是一种服务器的行为,相当于服务器拿着请求去别的地方找数据然后将结果响应给浏览器用户

    请求转发和重定向一般用在什么地方:

    请求转发和重定向最大的区别就是:

    	请求转发可以携带数据,并且可以访问WEB-INF下的资源文件。重定向不可以。【重点**】
    	所以需要携带数据和访问WEB-INF下资源的用请求转发。(WEB-INF下的文件不能够直接被用户访问到,
    	    用户直接通过url访问WEB-INF下的文件会报404错误)
    	不想让用户看到地址栏url的变化用请求转发。
    	其他情况下用重定向较好。
    
    展开全文
  • RequestDispatcher.forward方法只能将请求转发给同一个WEB应用中的组件;而HttpServletResponse.sendRedirect 方法还可以重定向到同一个站点上的其他应用程序中的资源,甚至是使用绝对URL重定向到其他站点的资源。 ...

    1.RequestDispatcher.forward方法只能将请求转发给同一个WEB应用中的组件;而HttpServletResponse.sendRedirect 方法还可以重定向到同一个站点上的其他应用程序中的资源,甚至是使用绝对URL重定向到其他站点的资源。

    2.如果传递给HttpServletResponse.sendRedirect 方法的相对URL以“/”开头,它是相对于整个WEB站点的根目录;如果创建RequestDispatcher对象时指定的相对URL以“/”开头,它是相对于当前WEB应用程序的根目录。

    3.调用HttpServletResponse.sendRedirect方法重定向的访问过程结束后,浏览器地址栏中显示的URL会发生改变,由初始的URL地址变成重定向的目标URL;调用RequestDispatcher.forward 方法的请求转发过程结束后,浏览器地址栏保持初始的URL地址不变。

    4.HttpServletResponse.sendRedirect方法对浏览器的请求直接作出响应,响应的结果就是告诉浏览器去重新发出对另外一个URL的访问请求;RequestDispatcher.forward方法在服务器端内部将请求转发给另外一个资源,浏览器只知道发出了请求并得到了响应结果,并不知道在服务器程序内部发生了转发行为。

    5.RequestDispatcher.forward方法的调用者与被调用者之间共享相同的request对象和response对象,它们属于同一个访问请求和响应过程;而HttpServletResponse.sendRedirect方法调用者与被调用者使用各自的request对象和response对象,它们属于两个独立的访问请求和响应过程。

    展开全文
  • 我们知道,在servlet中调用转发重定向的语句如下: request.getRequestDispatcher("new.jsp").forward(request, response);//转发到new.jsp response.sendRedirect("new.jsp");//重定向到new.jsp 在jsp页面中你也...

    一、调用方式 


    我们知道,在servlet中调用转发、重定向的语句如下:
    request.getRequestDispatcher("new.jsp").forward(request, response);//转发到new.jsp
    response.sendRedirect("new.jsp");//重定向到new.jsp

    在jsp页面中你也会看到通过下面的方式实现转发:
    <jsp:forward page="apage.jsp" />

    当然也可以在jsp页面中实现重定向:
    <%response.sendRedirect("new.jsp");//重定向到new.jsp%>


    二、本质区别

    解释一  


    一句话,转发是服务器行为,重定向是客户端行为。为什么这样说呢,这就要看两个动作的工作流程:

    转发过程:客户浏览器发送http请求----》web服务器接受此请求--》调用内部的一个方法在容器内部完成请求处理和转发动作----》将目标资源发送给客户;在这里,转发的路径必须是同一个web容器下的url,其不能转向到其他的web路径上去,中间传递的是自己的容器内的request。在客户浏览器路径栏显示的仍然是其第一次访问的路径,也就是说客户是感觉不到服务器做了转发的。转发行为是浏览器只做了一次访问请求。

    重定向过程:客户浏览器发送http请求----》web服务器接受后发送302状态码响应及对应新的location给客户浏览器--》客户浏览器发现是302响应,则自动再发送一个新的http请求,请求url是新的location地址----》服务器根据此请求寻找资源并发送给客户。在这里location可以重定向到任意URL,既然是浏览器重新发出了请求,则就没有什么request传递的概念了。在客户浏览器路径栏显示的是其重定向的路径,客户可以观察到地址的变化的。重定向行为是浏览器做了至少两次的访问请求的。

    解释二

    重定向,其实是两次request,
    第一次,客户端request   A,服务器响应,并response回来,告诉浏览器,你应该去B。这个时候IE可以看到地址变了,而且历史的回退按钮也亮了。重定向可以访问自己web应用以外的资源。在重定向的过程中,传输的信息会被丢失。


    例子:


    请求转发
    是服务器内部把对一个request/response的处理权,移交给另外一个
    对于客户端而言,它只知道自己最早请求的那个A,而不知道中间的B,甚至C、D。
     传输的信息不会丢失。

     例子: 

    解释三

    假设你去办理某个执照,

    重定向:你先去了A局,A局的人说:“这个事情不归我们管,去B局”,然后,你就从A退了出来,自己乘车去了B局。

    转发:你先去了A局,A局看了以后,知道这个事情其实应该B局来管,但是他没有把你退回来,而是让你坐一会儿,自己到后面办公室联系了B的人,让他们办好后,送了过来。

     

    转发: https://blog.csdn.net/meiyalei/article/details/2129120

    展开全文
  • jsp重定向和请求转发区别重定向和请求转发区别1.重定向:2.请求转发:3.调用方式:4.解释: 重定向和请求转发区别 1.重定向: 客户端行为 response.sendRedirect() 从本质上讲等同于两次请求 前一次的请求对象不会...
  • 重定向Redirect的原理 /*没有重定向时的跳转方法 *response.setStatus(302); *response.setHeader("Location", "login_success.html"); */ //重定向写法: 重新定位方向 参数即跳转的位置 response.sendRedirect...
  • 重定向和请求转发的代码实现 - 02

    千次阅读 多人点赞 2020-09-10 20:20:36
    请求转发和重定向不了解的可以看这个: https://blog.csdn.net/qq_40542534/article/details/108519299 重定向实现 通过RedirectSevlet重定向到RedirectSevlet2: RedirectSevlet @WebServlet("/RedirectSevlet") ...
  • 重定向和请求转发区别1、重定向是两次请求,转发是一次请求,因此转发的速度要快于重定向2、重定向之后地址栏上的地址会发生变化,变化成第二次请求的地址,转发之后地址栏上的地址不会变化,还是第一次请求的地址...
  • 【Java面试题】sendRedirect()重定向和forward()转发有什么区别? 前言 在Servlet中有forward()方法,response对象有sendRedirect()方法,但是其实在JSP的内置对象中也有这两个对象,因此不管在Servlet或者JSP中...
  • 一、重定向写法 1、老式写法 response.setStatus(302); response.setHeader("Location","跳转页面路径");...二、请求转发写法 request.getRequestDispatcher("跳转页面路径").forward(request,respon...
  • 一、目标不同 转发是服务器行为,重定向是客户端行为 。...重定向的网址可以是任何网址,请求转发只能是指定网址。 四、导致的结果不同 不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户...
  • 我们先硬着头皮看一下重定向的定义: 重定向(Redirect):      客户端浏览器向Web应用服务器端发送一个请求,Web服务器端使用HttpServletResponse的sendRedirect()方法将结果(结果中头...
  • 响应重定向和请求转发区别

    千次阅读 2019-03-16 11:06:29
    在B/C系统中,我们很多时候会进行这个servlet跳转到另一个servlet,比如说我们在一...请求转发实现的原理是servlet与servlet之间在tomcat服务器中进行请求的转发,浏览器中之发送一个请求,这个转发的行为是web服务...
  • 本质区别:转发是服务器行为,重定向是客户端行为。 重定向特点:两次请求,浏览器地址发生变化,可以访问自己Web...请求转发特点:一次请求,浏览器地址不变,访问的是自己本身的web资源,传输的数据不会丢失。 ...
  • 重定向和请求转发区别请求转发:对应的单词是(forward) 1.一次请求,意味着可以使用request域对象来共享数据啦 2.重定向可以访问其他站点(服务器)的资源 3.地址栏不变 重定向:对应的单词是(redirect) 1....
  • 重定向和请求转发区别(转)

    千次阅读 2018-05-26 15:33:34
    转自: https://blog.csdn.net/meiyalei/article/details/2129120一、调用方式 我们知道,在servlet中调用转发重定向的语句如下:request.getRequestDispatcher("new.jsp").forward(request, response)...
  • 深入浅出Java 重定向和请求转发区别

    万次阅读 多人点赞 2014-04-08 07:58:08
    客户首先发送一个请求到服务器端,服务器端发现匹配的servlet,并指定它去执行,当这个servlet执行完之后,它要调用getRequestDispacther()方法,把请求转发给指定的student_list.jsp,整个流程都是在服务器端完成的...
  • 二、请求重定向请求转发区别重定向访问页面两次,请求转发访问页面一次 ②重定向不能访问域中的值。请求转发可以 ③请求重定向:resp.sendRedirect(); 请求转发:requestDispatcher.forward(req,resp); ...
  • 请求转发:地址栏不会发生改变,在服务器端完成,效率高,使用request携带数据。 request.setAttribute(key,value); request对象存放数据 request.getAttribute(key); request对象获取数据 ...
  • 请求重定向和请求转发

    千次阅读 2016-11-27 15:14:51
    1. 概述在J2EE开发中,...那么请求转发和请求重定向有什么区别,以及其实现的原理是怎么样的呢。2. 两者的区别(1)请求重定向是一种客户端行为,通过HttpServletResponse的对象来实现response.sendRedirect();HttpSer
  • 首先看书写语句:  转发:request.getRequestDispatcher("apage.jsp").forward(request,response);//转发到apage.jsp  或者&... 重定向:response.sendRedirect("apage.j...
  • 请求转发重定向区别,并介绍请求转发重定向 ** 一.请求转发重定向区别 1) 重定向对浏览器的请求直接作出响应,响应的结果就是告诉浏览器去重新发出对另外一个URL的访问请求,这个过程好比有个叫“浏览器”...
  • 我们知道,在servlet中调用转发重定向的语句如下: request.getRequestDispatcher(“new.jsp”).forward(request, response);//转发到new.jsp response.sendRedirect(“new.jsp”);//重定向到new.jsp 在jsp页面...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 92,127
精华内容 36,850
关键字:

重定向和请求转发区别

友情链接: E-message.rar