转发与重定向的区别如下:

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

1.转发在服务器端完成的;重定向是在客户端完成的

2.转发的速度快;重定向速度慢

3.转发的是同一次请求;重定向是两次不同请求

4.转发不会执行转发后的代码;重定向会执行重定向之后的代码

5.转发地址栏没有变化;重定向地址栏有变化

6.转发必须是在同一台服务器下完成;重定向可以在不同的服务器下完成

在servlet中调用转发、重定向的语句如下:

request.getRequestDispatcher("new.jsp").forward(request, response);//转发到new.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应用以外的资源。在重定向的过程中,传输的信息会被丢失。

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

转发:一次请求,地址栏不会变,效率更高,只能跳转本项目

重定向:两次请求,地址栏会变成第二次请求的地址,效率稍低,可以跳转任何项目

接口转发和重定向区别(二)相关推荐

  1. 接口转发和重定向区别(一)

    1 forword是RequestDispatcher 接口(请求转发) ,而 redirect是HttpServletResponse 接口(请求重定向) 2.response.sendRedire ...

  2. 接口转发和重定向区别(四)

    一.Chain Result: 这个result调用另外的一个action,连接自己的拦截器栈和result. actionName (默认) - 被调用的action的名字 namespace - ...

  3. 接口转发和重定向区别(三)

    我们就一起来简单学习一下Action的4种Result type类型,分为:dispatcher(服务端页面跳转):redirect(客户端页面跳转):chain(动作链跳转):redirectAct ...

  4. ServletRequest HttpServletRequest 请求方法 获取请求参数 请求转发 请求包含 请求转发与重定向区别 获取请求头字段...

    原文地址:ServletRequest HttpServletRequest 请求方法 获取请求参数 请求转发 请求包含 请求转发与重定向区别 获取请求头字段 ServletRequest 基本概念 ...

  5. 请求转发和重定向区别

    一.转发和重定向区别详解 作为一名程序员,特别是java web开发的程序员,在使用servlet/jsp的时候,我们必须要知道实现页面跳转的两种方式的区别和联系:即转发和重定向的区别. Reques ...

  6. 创建线程的几种方式?JSP的九大内置对象及作用分别是什么?servlet的生命周期及常用方法?转发和重定向区别?ajax书写方式及内部主要参数都有哪些

    文章目录 1 , 创建线程的几种方式? 问题扩展: 2 ,JSP的九大内置对象及作用分别是什么? (1) 问题分析: (2) 核心答案讲解: 1.request对象 2.response对象 3.se ...

  7. 请求转发与重定向的区别和执行流程

    请求转发与重定向的区别和执行流程 文章目录 请求转发与重定向的区别和执行流程 1 请求转发与重定向区别 2 现实生活的例子 2.1 重定向 2.2 请求转发 3 重定向-流程图.代码.结果 3.1 流 ...

  8. JavaWeb之【转发与重定向】

    在一个web应用中应该如何完成资源的跳转 第一种方式:转发 代码 // 获取请求转发器对象,并调用请求转发器对象的方法forward完成转发 request.getRequestDispatcher( ...

  9. 面试题:接口和抽象类的区别

    区别一,两者表达的概念不一样.抽象类是一类事物的高度聚合,那么对于继承抽象类的子类来说,对于抽象类来说,属于"是"的关系:而接口是定义行为规范,因此对于实现接口的子类来说,相对于接 ...

最新文章

  1. python语言入门p-python初学者怎么入门
  2. 第三十三讲:tapestry Ajax eventlink无刷新页面
  3. Sharepoint学习笔记—ECM系列--文档集(Document Set)的实现
  4. ubuntu系统下gedit 打开GBK字符集编码文件出现乱码问题解决办法
  5. acs880 用户手册_华中数控、广州数控系统用户手册
  6. IDEA采用Debug模式无法启动项目,但是采用普通模式可以正常启动项目
  7. 增加定时检测linux占用内存,及时清理功能
  8. 专访UCloud徐亮:UCloud虚拟网络的演进之路
  9. openstack cinder api对应的命令行接口
  10. 安卓模拟定位mockLocation,闪退?
  11. 河南双轨制直销系统开发推荐奖介绍
  12. 【Java】使用JavaMail发送qq邮件
  13. css overflow属性及使用方法
  14. 英语口译笔记法实战指导 吴钟明 pdf_2019.05 CATTI备考经验:二级口译实务经验 | 从口译小白到入门...
  15. 2.股票入门课(新版)
  16. Python的列表推导式和嵌套列表推导式
  17. python3 opencv 基于二值化图像素投影的图片切割方法
  18. java 视频合并_Java 合并多个MP4视频文件
  19. 猿来小课Java视频教程讲师浅谈JAVA体系结构
  20. S3C4412学习笔记

热门文章

  1. 计算机本科211调剂到双非值得吗,经验分享:从双非到211,调剂是场快准狠的战役...
  2. 常州一院有全消化道的机器人的_【商务对接】昆山智能机器人及成套装备协会链接京东和智能制造...
  3. halcon模板匹配——转化算子vector_angle_to_rigid和affine_trans_contour_xld
  4. rfc垮端口 sap_SAP扫盲系列之二:SAP ABAP应用服务器的组成部分
  5. python基础一循环
  6. 实战 PK!RTX2080Ti 对比 GTX1080Ti 的 CIFAR100 混合精度训练
  7. Windows 下端口被占用
  8. Omad群组部署、依赖部署一键解决
  9. C4D中重点、难点分析
  10. 云安全课程:云平台使用安全