zoukankan      html  css  js  c++  java
  • 重定向和转发

    转发是WEB服务器使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程。

    重定向是第一个页面通知浏览器发送一个新的页面容器请求。因此,当你使用重定向时,浏览器中所显示的URL会变成新页面的URL, 而当使用转发时,该URL会保持不变。

    重定向的速度比转发慢,因为浏览器还得发出一个新的请求。同时,由于重定向方式产生了一个新的请求,所以经过一次重定向后,request内的对象将无法使用。

    怎么选择是重定向还是转发呢?

    通常情况下转发更快,而且能保持request内的对象,所以对于服务器编程它是第一选择。但是由于在转发之后,浏览器中URL仍然指向开始页面,此时如果重载当前页面,URL所对应页面将会被重新调用。如果你不想看到这样的情况,则选择重定向。

    转发和重定向的区别
        重定向:以前的request中存放的变量全部失效,并进入一个新的request作用域。
        转发:以前的request中存放的变量不会失效,就像把两个页面拼到了一起。


    对于重定向另一种说法(只是对重定向做了解释)

    重定向与转发
    ·重定向
    路由重定向: 路由构造http应答,在http头中写入302和重定向到的地址(重定向过程最终由IE实现,IE地址栏会发生改变)
    Web重定向(貌似透明代理): 路由直接将请求发送到重定向到的SP,相应地SP将所请求的内容返回(重定向过程隐藏由路由实现,IE与SP都不会知道)

    ·转发
    服务器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程。

  • 相关阅读:
    SessionAttributes注解
    数据格式化
    数据类型转换器
    线程的常用方法总结
    线程生命周期
    分析配置DispatcherServlet类时load-on-startup标签作用
    springMVC的执行请求过程
    MyBatis之动态SQL
    MyBatis实现
    Spring框架中的JDK与CGLib动态代理
  • 原文地址:https://www.cnblogs.com/dongzhiquan/p/1994536.html
Copyright © 2011-2022 走看看