首页 > 其他分享 >跳转和重定向的区别

跳转和重定向的区别

时间:2022-12-14 18:23:26浏览次数:48  
标签:浏览器 重定向 区别 跳转 request 转发 请求

在一个WEB应用中如何完成资源的跳转

  • 一个Web应用中可以通过两种方式完成资源的跳转

    • 转发
    • 重定向
  • 转发和重定向有什么区别?

    • 转发

      • //获取请求转发器对象
        RequestDispatcher dispatcher = request.getRequestDispatcher("/dept/list");
        //调用请求转发其对象的forward()方法
        dispatcher.forward(request,response);
        //合并,将request,response传进去实现请求域共享数据,保证A,B的request对象是同一个
        request.getRequestDispatcher("/dept/list").forward(request,response);
        
    • 重定向

    • 形式上有什么区别?

      • 转发(一次请求,一次响应)

      • 重定向(两次请求,两次响应)

        • URI会变化为对应的跳转的资源的URI

        • response.setRedirect("项目名/路径");
          //为什么要带项目名?这里本质上是response响应到浏览器,浏览器又向服务器发送了一次全新的请求,前端----->后端 所以带上项目名
          /*在浏览器上发送的地址请求是http://localhost:8080/dispatcher/a	最终显示在浏览器地址栏上的是 http://localhost:8080/dispatcher/b 	浏览器发送了两次请求。
          */
          
    • 转发和重定向的本质区别?

      • 转发是由web服务器控制的A资源跳转到B资源,这个操作是tomcat服务器完成的
      • 重定向是由浏览器跳转的
  • 转发和重定向如何选择?

    • 如果再上一个servlet中向request域中绑定了数据,希望实现请求域共享,则使用转发机制
    • 其余所有情况均使用重定向(重定向使用较多)

标签:浏览器,重定向,区别,跳转,request,转发,请求
From: https://www.cnblogs.com/RepublicLine/p/16982901.html

相关文章

  • 记录--uniapp 应用APP跳转微信小程序
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助最近APP项目开发完成,在评审会上老板提了一个需求,想在开发的APP上添加一个链接,可以跳转公司的小程序商城。......
  • 关于实体类中VO、DTO、Entity的区别
    关于实体类中VO、DTO、Entity的区别1、entity里的每一个字段,与数据库相对应,2、vo里的每一个字段,是和你前台html页面相对应,3、dto这是用来转换从entity到vo,或......
  • Chrome开发者工具抓取重定向页面之前的数据包
    如果一个POST请求处理完成会重定向到另外一个页面,相当于进行了刷新页面操作,原来的POST请求请求信息在​​Network​​这个Tab就看不到了,显示的都是重定向页面的相关HTTP请求......
  • commonJS, AMD, CMD区别表格对比
    1、对比总览  名称    同步/异步   规范文件 应用场景加载速度描述commonJS同步CommonJSNODEJS平均加载速度最慢最早版本的js模块化编程规范......
  • Linux man命令手册使用方法,man和man5区别
    1、https://www.modb.pro/db/4464931.man手册页简介man手册页(manualpages,“手册”),是类UNIX系统最重要的手册工具。多数Linux发行版都预装了它。Linux提供了丰富的帮......
  • Hyper-V与vmware的区别
    虚拟机架构分类I型原生架构原生架构也叫裸金属架构或者裸机架构,其通过直接在cpu处理器硬件上运行虚拟机监控程序,进一步使用处理器扩展(IntelVT-x和AMD-V)来运行虚拟机。......
  • @Autowired 和 @Resource 的区别
    @Autowired与@Resource@Autowired属于Spring内置的注解,默认的注入方式为byType(根据类型进行匹配),也就是说会优先根据接口类型去匹配并注入Bean(接口的实现类)。如果一......
  • 简单端口映射、转发、重定向工具之Rinetd
    ◆一、概述Rinetd是为在一个Unix和Linux操作系统中为重定向传输控制协议(TCP)连接的一个工具。将TCP连接从一个IP地址和端口重定向到另一个。它处理文件中/etc/rinetd......
  • 无代码开发和低代码开发的本质区别
    ​无代码和低代码开发都是现在新兴的一种软件开发方式,无代码顾名思义就是不需要编写代码就能够实现软件开发;低代码就是还是需要编写代码来实现软件开发,只不过低代码开发需......
  • 搞清webpack、vite、vue-cli、create-vue的区别
    1.要区分脚手架、构建项目、打包代码的概念1.1脚手架:创建项目,选择性安装需要的插件,指定统一的风格,生成demo。(vue-cli和create-vue是由vue提供的脚手架,创建项目时......