精华内容
下载资源
问答
  • 那么应用A内部的Activity跳转是设置的效果,但当应用A想跳转到应用B时,这个设置就不管用了。 就是说应用A跳转到应用B,这时的跳转动画由应用B的android:windowAnimationStyle决定 那么问题来了,应用A能控制...
  • forward(转发):服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,因为这个跳转过程实在服务器实现的,并不...

    forward(转发)

    是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,因为这个跳转过程实在服务器实现的,并不是在客户端实现的所以客户端并不知道这个跳转动作,所以它的地址栏还是原来的地址.

    redirect(重定向)

    是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.

    转发是服务器行为,重定向是客户端行为。

    区别

    1. 从地址栏显示来说
    forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.

    redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.

    2. 从数据共享来说
    forward:转发页面和转发到的页面可以共享request里面的数据.
    redirect:不能共享数据.

    3. 从运用地方来说
    forward:一般用于用户登陆的时候,根据角色转发到相应的模块.
    redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等

    4. 从效率来说
    forward:高.
    redirect:低.

    本质区别

      解释一:

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

    转发过程:客户浏览器发送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。 传输的信息不会丢失。

      解释三:

    转发是服务器行为,重定向是客户端行为。 

    两者的内部机制有很大的区别:   
    1 请求转发只能将请求转发给同一个WEB应用中的组件,
    而重定向还可以重新定向到同一站点不同应用程序中的资源,甚至可以定向到一绝对的URL。   
    2 重定向可以看见目标页面的URL,
    转发只能看见第一次访问的页面URL,以后的工作都是有服务器来做的。  
    3 请求响应调用者和被调用者之间共享相同的request对象和response对象,
    重定向调用者和被调用者属于两个独立访问请求和响应过程。   
    4 重定向跳转后必须加上return,要不然页面虽然跳转了,
    但是还会执行跳转后面的语句,
    转发是执行了跳转页面,下面的代码就不会在执行了。
    -------------我是低调的分割线--------------------------

    如果对你有帮助,可以点击“推荐”哦`(*∩_∩*)′

       
    展开全文
  • 301重定向与302跳转什么区别?  301重定向,也叫“永久性转移”,301会把原网页权重转移到重定向目标的网站上面。  302跳转也称为,“临时跳转”。  区别  1、使用效果不同  302跳转是暂时的跳转,搜索...

    301重定向与302跳转有什么区别?

        301重定向,也叫“永久性转移”,301会把原网页权重转移到重定向目标的网站上面。

      302跳转也称为,“临时跳转”。

      区别

      1、使用效果不同

      302跳转是暂时的跳转,搜索引擎会抓取新的内容而保留旧的网址。因为服务器返回302代码,搜索引擎认为新的网址只是暂时的。

      301重定向是永久的重定向,搜索引擎在抓取新内容的同时也将旧的网址替换为重定向之后的网址。

      2、SEO使用方式不同

      在搜索引擎优化中302跳转被众多黑帽SEO优化人员追求,对网站进行恶意302跳转至非用户目标访问网站,因此搜索引擎对于网站的302跳转通常是比较不友好。

      常见的方式是对网站K站,在对网站进行URL规范化地址要使用301重定向而非302跳转。

      珍岛提醒大家慎用302跳转。

     

    转载于:https://www.cnblogs.com/Jeremy2001/p/6229234.html

    展开全文
  •  首先我们需要理解什么是服务器端跳转什么是客户端的跳转。  简单理解所谓服务器端跳转就是指地址栏内容不变(客户端浏览器的地址栏不会显示目标地址的URL),//注:客户端请求到达以后,服务器发现当前资源给...

    http://blog.csdn.net/null____/article/details/8070105


    服务器端跳转与客户端跳转:


        首先我们需要理解什么是服务器端跳转,什么是客户端的跳转。

        简单理解所谓服务器端跳转就是指地址栏内容不变(客户端浏览器的地址栏不会显示目标地址的URL),//注:客户端请求到达以后,服务器发现当前资源给不出回应,要在服务器内部请求另一个资源的跳转。所以,1.跳转与否客户端不知道(URL不变),2.属于一次request

        而客户端跳转是指地址栏内容发生改变(客户端向服务器发请求偶,然后服务器再给客户端一个响应,然后客户端再根据服务器端给的响应中的URL再向服务器发送请求,所以是两次请求,因此地址栏改变了显示最后一次请求地址);//注:客户端请求到达服务端,服务端返回一个 “去访问其他链接” 的回应,客户端依此回应,第二次去访问。所以:1.客户端根据回应地址又跳转了一次,2.第二次跳转后,已经出了request的属性范围

    Java中服务器端跳转:
        1、request.getRequestDispatcher("success.jsp").forward(request,response),它是只要执行到此语句之后则立刻进行跳转,可以传递request属性
        2、<jsp:forward>,这种跳转属于无条件跳转,它只能在栈内转,而sendREdirect中则可以任意转,甚至可以输入baidu;//注:无条件跳转后,此跳转语句后边的代码都不会被执行(比如关闭数据库一类的)

    客户端跳转:
        1、response.sendRedirect("fail.jsp"),所有页面执行完之后再进行跳转,不能传递request范围的属性,但是可以通过地址重写的方式向跳转页传递参数,因为该方法执行完之后就相当于一次http request的结束,这是服务器会向客户端发送302状态码和新的url,告诉客户端重新发送request请求到新的url,然后客户端照此执行,执行即新的请求响应流程开始,服务器再重新创建HttpServletRequest对象和HttpServletResponse对象,此时两个请求已经不在一个线程了,所以request和response对象都不是开始的那个了;
        2、response.setHeader("refresh","2;URL=index.jsp"),2秒后跳转到其他页面;
        3、<a href="http://www.baidu.com">百度</a>,超链接;
        4、表单提交;
    通过以上可以得知,如果现在一个页面中使用了JDBC,则应该在forward跳转之前关闭数据库链接,而使用respose则可以在任意的位置处关闭;

    注意:
        1、客户端跳转“/”代表服务器路径webapps,即服务器根路径,服务器端跳转“/”代表站点根路径,即应用程序根路径;
        2、尽量使用response.sendRedirect("fail.jsp")而不去使用forward,因为当服务器崩溃了,那么sendRedirect则就会起很大的好处了。






    =======================================================================================================================

    附一个jsp&servlet的总结,转自:http://www.360doc.com/content/12/0319/10/7874148_195552813.shtml

    servlet 和 jsp 跳转页面的几种方法

    跳转分两部分:

    一是发生在servlet,一是在JSP,其实JSP也就是servlet,不过还是有点差异滴。当然,在servlet中,一般跳转都发生在doGet, doPost等方法里面。

    Servlet:

    (1)redirect 方式
    response.sendRedirect("/a.jsp");
    页面的路径是相对路径。
    sendRedirect可以将页面跳转到任何页面,不局限于本web应用中,如:response.sendRedirect(http://www.ycul.com);
    跳转后浏览器地址栏变化。
    这种方式要传值出去的话,只能在url中带parameter或者放在session中,无法使用request.setAttribute来传递。

      (2) forward方式
    request.getRequestDispatcher("/a.jsp").forward(request, response);

    getServletContext().getRequestDispatcher("/a.jsp").forward(request, response);
    页面的路径是相对路径。
    forward方式只能跳转到本web应用中的页面上。
    跳转后浏览器地址栏不会变化。
    使用这种方式跳转,传值可以使用三种方法:url中带parameter,session,request.setAttribute

      JSP

    1)response.sendRedirect();
    和servlet的response.sendRedirect()方式一样。
    此语句前不允许有out.flush(),如果有,会有异常:
    java.lang.IllegalStateException: Can't sendRedirect() after data has committed to the client.
    at com.caucho.server.connection.AbstractHttpResponse.sendRedirect(AbstractHttpResponse.java:558)....
    跳转后浏览器地址栏变化
    如果要跳到不同主机下,跳转后,此语句后面的语句会继续执行,如同新开了线程,但是对response的操作已经无意义了;
    如果要跳到相同主机下,此语句后面的语句执行完成后才会跳转

    2)response.setHeader("Location","");
    此语句前不允许有out.flush(),如果有,页面不会跳转。
    跳转后浏览器地址栏变化
    此语句后面的语句执行完成后才会跳转.

    3)<jsp:forward page="" />
    此语句前不允许有out.flush(),如果有,会有异常:
    java.lang.IllegalStateException: forward() not allowed after buffer has committed.
    at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:134)
    at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:101)
    at com.caucho.jsp.PageContextImpl.forward(PageContextImpl.java:836)
    跳转后浏览器地址栏不变,但是只能跳到当前主机下
    此语句后面的语句执行完成后才会跳转

    展开全文
  • 首先我们需要理解什么是服务器端跳转什么是客户端的跳转。  简单理解所谓服务器端跳转就是指地址栏内容不变(客户端浏览器的地址栏不会显示目标地址的URL),//注:客户端请求到达以后,服务器发现当前资源给不出...

    首先我们需要理解什么是服务器端跳转,什么是客户端的跳转。

        简单理解所谓服务器端跳转就是指地址栏内容不变(客户端浏览器的地址栏不会显示目标地址的URL),//注:客户端请求到达以后,服务器发现当前资源给不出回应,要在服务器内部请求另一个资源的跳转。所以,1.跳转与否客户端不知道(URL不变),2.属于一次request

        而客户端跳转是指地址栏内容发生改变(客户端向服务器发请求偶,然后服务器再给客户端一个响应,然后客户端再根据服务器端给的响应中的URL再向服务器发送请求,所以是两次请求,因此地址栏改变了显示最后一次请求地址);//注:客户端请求到达服务端,服务端返回一个 “去访问其他链接” 的回应,客户端依此回应,第二次去访问。所以:1.客户端根据回应地址又跳转了一次,2.第二次跳转后,已经出了request的属性范围

    Java中服务器端跳转:
        1、request.getRequestDispatcher("success.jsp").forward(request,response),它是只要执行到此语句之后则立刻进行跳转,可以传递request属性;
        2、<jsp:forward>,这种跳转属于无条件跳转,它只能在栈内转,而sendREdirect中则可以任意转,甚至可以输入baidu;//注:无条件跳转后,此跳转语句后边的代码都不会被执行(比如关闭数据库一类的)

    客户端跳转:
        1、response.sendRedirect("fail.jsp"),所有页面执行完之后再进行跳转,不能传递request范围的属性,但是可以通过地址重写的方式向跳转页传递参数,因为该方法执行完之后就相当于一次http request的结束,这是服务器会向客户端发送302状态码和新的url,告诉客户端重新发送request请求到新的url,然后客户端照此执行,执行即新的请求响应流程开始,服务器再重新创建HttpServletRequest对象和HttpServletResponse对象,此时两个请求已经不在一个线程了,所以request和response对象都不是开始的那个了;
        2、response.setHeader("refresh","2;URL=index.jsp"),2秒后跳转到其他页面;
        3、<a href="http://www.baidu.com">百度</a>,超链接;
        4、表单提交;
    通过以上可以得知,如果现在一个页面中使用了JDBC,则应该在forward跳转之前关闭数据库链接,而使用respose则可以在任意的位置处关闭;

    注意:
        1、客户端跳转“/”代表服务器路径webapps,即服务器根路径,服务器端跳转“/”代表站点根路径,即应用程序根路径;
        2、尽量使用response.sendRedirect("fail.jsp")而不去使用forward,因为当服务器崩溃了,那么sendRedirect则就会起很大的好处了。

     =======================================================================================================================

    附一个jsp&servlet的总结,转自:http://www.360doc.com/content/12/0319/10/7874148_195552813.shtml

    servlet 和 jsp 跳转页面的几种方法

     跳转分两部分:

    一是发生在servlet,一是在JSP,其实JSP也就是servlet,不过还是有点差异滴。当然,在servlet中,一般跳转都发生在doGet, doPost等方法里面。

    Servlet:

    (1)redirect 方式
    response.sendRedirect("/a.jsp");
    页面的路径是相对路径。
    sendRedirect可以将页面跳转到任何页面,不局限于本web应用中,如:response.sendRedirect(http://www.ycul.com);
    跳转后浏览器地址栏变化。
    这种方式要传值出去的话,只能在url中带parameter或者放在session中,无法使用request.setAttribute来传递。

      (2) forward方式
    request.getRequestDispatcher("/a.jsp").forward(request, response);

    getServletContext().getRequestDispatcher("/a.jsp").forward(request, response);
    页面的路径是相对路径。
    forward方式只能跳转到本web应用中的页面上。
    跳转后浏览器地址栏不会变化。
    使用这种方式跳转,传值可以使用三种方法:url中带parameter,session,request.setAttribute

      JSP

    1)response.sendRedirect();
    和servlet的response.sendRedirect()方式一样。
    此语句前不允许有out.flush(),如果有,会有异常:
    java.lang.IllegalStateException: Can't sendRedirect() after data has committed to the client.
    at com.caucho.server.connection.AbstractHttpResponse.sendRedirect(AbstractHttpResponse.java:558)....
    跳转后浏览器地址栏变化
    如果要跳到不同主机下,跳转后,此语句后面的语句会继续执行,如同新开了线程,但是对response的操作已经无意义了;
    如果要跳到相同主机下,此语句后面的语句执行完成后才会跳转

    2)response.setHeader("Location","");
    此语句前不允许有out.flush(),如果有,页面不会跳转。
    跳转后浏览器地址栏变化
    此语句后面的语句执行完成后才会跳转.

    3)<jsp:forward page="" />
    此语句前不允许有out.flush(),如果有,会有异常:
    java.lang.IllegalStateException: forward() not allowed after buffer has committed.
    at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:134)
    at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:101)
    at com.caucho.jsp.PageContextImpl.forward(PageContextImpl.java:836)
    跳转后浏览器地址栏不变,但是只能跳到当前主机下
    此语句后面的语句执行完成后才会跳转

     

    from :http://blog.csdn.net/null____/article/details/8070105

    展开全文
  • fetch的地址乱写的 但是浏览器 为什么依然可以跳转 目标html 而且不报错 如果删window.location.href. 则会提示404 ``` var promise = fetch('/registerdfdfd', { method: 'post', body: userObjStr, ...
  • 01-Popover跳转

    2016-12-08 16:11:33
    什么是Popover?UIViewController进行跳转的时候,可以设置跳转样式 Popover样式是iOS8加入的新特性 1.2-在StoryBoard中使用Popover 1.创建目标控制器 2.连线控制器,选择present as popover 3.设置popover大小...
  •  首先我们需要理解什么是服务器端跳转什么是客户端的跳转。  简单理解所谓服务器端跳转就是指地址栏内容不变(客户端浏览器的地址栏不会显示目标地址的URL),//注:客户端请求到达以后,服务器发现当前资源给...
  • 首先我们需要理解什么是服务器端跳转什么是客户端的跳转。 简单理解所谓服务器端跳转就是指地址栏内容不变(客户端浏览器的地址栏不会显示目标地址的URL),//注:客户端请求到达以后,服务器发现当前资源给...
  • 服务器端客户端跳转

    2017-07-09 10:00:37
     首先我们需要理解什么是服务器端跳转什么是客户端的跳转。  简单理解所谓服务器端跳转就是指地址栏内容不变(客户端浏览器的地址栏不会显示目标地址的URL),//注:客户端请求到达以后,服务器发现当前资源...
  • 首先我们需要理解什么是服务器端跳转什么是客户端的跳转。简单理解所谓服务器端跳转就是指地址栏内容不变(客户端浏览器的地址栏不会显示目标地址的URL),而客户端跳转是指地址栏内容发生改变(客户端向服务器发...
  • Android界面跳转

    2021-01-18 11:27:33
    运用startActivityForResult(Intent intent,int RequestCode)用于启动另一个activity并等待其返回的结果,毋庸置疑,intent用于启动目标activity,而RequestCode的作用是什么呢? 由于每个activity都可以启动任意的...
  • 什么是url重定向

    2021-01-04 20:15:25
    什么是url重定向? URL重定向(URL redirection,或称网址重定向或网域名称转址),是指当使用者浏览某个网址时,将他导向到另一个网址的技术 url转发和重定向区别 第一种是request.getRequestDispatcher()....
  • webview 实现可控跳转

    千次阅读 2012-11-19 13:10:48
    经常要实现webview的指定跳转,现总结以下,有什么不对的地方还请指教。 主要实现思路如下: 1 根据webview 的特性,每一个webview都会把以前的浏览历史记录到一个历史记录里面。 2 用一个循环遍历,找到...
  • java web两种跳转方式的区别

    千次阅读 2014-09-01 14:19:53
     首先我们需要理解什么是服务器端跳转什么是客户端的跳转。简单理解所谓服务器端跳转就是指地址栏内容不变(客户端浏览器的地址栏不会显示目标地址的URL),而客户端跳转是指地址栏内容发生改变(客户端向服务器...
  • forward和redirect的区别是什么

    万次阅读 多人点赞 2018-05-19 16:28:31
    forward和redirect是什么servlet种的两种主要的跳转方式。forward又叫转发,redirect叫做重定向。两者的区别总结:1.从地址栏显示来说:1)forword服务器内部的重定向,服务器直接访问目标地址的 url网址,把...
  • iOS 使用URLtype实现程序之间的跳转

    千次阅读 2019-03-05 22:27:42
    一、实现目标 就是点击上面蓝色背景的APP(去哪儿)的按钮然后跳转到白色背景APP(支付宝)里面。 二、具体实现 ...2.1 因为是去哪儿跳转到支付宝,支付宝需要进行scheme的...这里解释一下什么是scheme,其实schem...
  • 好早以前,就发现这个问题,页面跳转的 时候 总是卡卡的, 可是目标页面 什么东西 都没有啊。 但是 给目标页面 设置了 背景颜色 以后就好了,就不卡了。 这什么呢 ? 谢谢 谢谢
  • 什么是upSpeed ? upSpeed是finalUpSpeed的upSpeed finalUpSpeed ? 什么是downSpeed ? downSpeed恒定 upSpeed / downSpeed是否相同? 如果不是,哪个更大? (实际上, downSpeed应该更大) 最小速度为1毫秒...
  • 关于django中form action的跳转问题

    千次阅读 2020-01-21 14:39:04
    在django编程过程中总是会遇到提交表格和跳转的界面,但是在调试过程中偶尔会遇到无法利用绝对路径来给定目标网址,无论写的是什么都会在当前域名下继续添加你的内容,最终结果就是找不到目标网址而报错 <...
  • 什么是标签?

    2020-09-26 18:27:19
    什么是<a>标签? <a> 标签定义超链接,用于从一个页面链接到另一个页面。 <a> 元素最重要的属性是 href 属性,它指定链接的目标。 a标签的语法格式:<a href=“指定要跳转目标界面的链接”&...
  • 1、起初不知道是什么原因造成,页面一跳转目标页面的时候,目标页面自动执行onClick方法或者Link 包括的部分自动跳转。 问题追踪: 1、一开始以为是跳转目标页后,目标页的onClick方法写的有问题,怎么会自动...
  • jsp跳转的五种方式

    2009-03-11 00:11:53
     (2) response.sendRedirect()则完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。  前者更加高效,在前者可以满足需要时,尽量使用...
  • 真真的怪事,就是突然之间,我的项目就出毛病了:每次打开首页之后,所有的链接都跳转到首页,但URL地址又正确的。然而,当设置断点调试的时候,它进入了后台系统,也就是说springmvc有作用的,但始终不进入...
  • <p><img alt="" height="195" src...但是打包部署到linux的服务器上 就跟第一个图那样 项目首页有的 但是如果点击了按钮跳转页面就会报错404 源服务器未能找到目标资源的表示或者不愿公开一个已经存在的资源表示。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 432
精华内容 172
关键字:

什么是目标跳转