接口转发和重定向区别(二)
转发与重定向的区别如下:
转发是服务器行为,重定向是客户端行为
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 forword是RequestDispatcher 接口(请求转发) ,而 redirect是HttpServletResponse 接口(请求重定向) 2.response.sendRedire ...
- 接口转发和重定向区别(四)
一.Chain Result: 这个result调用另外的一个action,连接自己的拦截器栈和result. actionName (默认) - 被调用的action的名字 namespace - ...
- 接口转发和重定向区别(三)
我们就一起来简单学习一下Action的4种Result type类型,分为:dispatcher(服务端页面跳转):redirect(客户端页面跳转):chain(动作链跳转):redirectAct ...
- ServletRequest HttpServletRequest 请求方法 获取请求参数 请求转发 请求包含 请求转发与重定向区别 获取请求头字段...
原文地址:ServletRequest HttpServletRequest 请求方法 获取请求参数 请求转发 请求包含 请求转发与重定向区别 获取请求头字段 ServletRequest 基本概念 ...
- 请求转发和重定向区别
一.转发和重定向区别详解 作为一名程序员,特别是java web开发的程序员,在使用servlet/jsp的时候,我们必须要知道实现页面跳转的两种方式的区别和联系:即转发和重定向的区别. Reques ...
- 创建线程的几种方式?JSP的九大内置对象及作用分别是什么?servlet的生命周期及常用方法?转发和重定向区别?ajax书写方式及内部主要参数都有哪些
文章目录 1 , 创建线程的几种方式? 问题扩展: 2 ,JSP的九大内置对象及作用分别是什么? (1) 问题分析: (2) 核心答案讲解: 1.request对象 2.response对象 3.se ...
- 请求转发与重定向的区别和执行流程
请求转发与重定向的区别和执行流程 文章目录 请求转发与重定向的区别和执行流程 1 请求转发与重定向区别 2 现实生活的例子 2.1 重定向 2.2 请求转发 3 重定向-流程图.代码.结果 3.1 流 ...
- JavaWeb之【转发与重定向】
在一个web应用中应该如何完成资源的跳转 第一种方式:转发 代码 // 获取请求转发器对象,并调用请求转发器对象的方法forward完成转发 request.getRequestDispatcher( ...
- 面试题:接口和抽象类的区别
区别一,两者表达的概念不一样.抽象类是一类事物的高度聚合,那么对于继承抽象类的子类来说,对于抽象类来说,属于"是"的关系:而接口是定义行为规范,因此对于实现接口的子类来说,相对于接 ...
最新文章
- python语言入门p-python初学者怎么入门
- 第三十三讲:tapestry Ajax eventlink无刷新页面
- Sharepoint学习笔记—ECM系列--文档集(Document Set)的实现
- ubuntu系统下gedit 打开GBK字符集编码文件出现乱码问题解决办法
- acs880 用户手册_华中数控、广州数控系统用户手册
- IDEA采用Debug模式无法启动项目,但是采用普通模式可以正常启动项目
- 增加定时检测linux占用内存,及时清理功能
- 专访UCloud徐亮:UCloud虚拟网络的演进之路
- openstack cinder api对应的命令行接口
- 安卓模拟定位mockLocation,闪退?
- 河南双轨制直销系统开发推荐奖介绍
- 【Java】使用JavaMail发送qq邮件
- css overflow属性及使用方法
- 英语口译笔记法实战指导 吴钟明 pdf_2019.05 CATTI备考经验:二级口译实务经验 | 从口译小白到入门...
- 2.股票入门课(新版)
- Python的列表推导式和嵌套列表推导式
- python3 opencv 基于二值化图像素投影的图片切割方法
- java 视频合并_Java 合并多个MP4视频文件
- 猿来小课Java视频教程讲师浅谈JAVA体系结构
- S3C4412学习笔记
热门文章
- 计算机本科211调剂到双非值得吗,经验分享:从双非到211,调剂是场快准狠的战役...
- 常州一院有全消化道的机器人的_【商务对接】昆山智能机器人及成套装备协会链接京东和智能制造...
- halcon模板匹配——转化算子vector_angle_to_rigid和affine_trans_contour_xld
- rfc垮端口 sap_SAP扫盲系列之二:SAP ABAP应用服务器的组成部分
- python基础一循环
- 实战 PK!RTX2080Ti 对比 GTX1080Ti 的 CIFAR100 混合精度训练
- Windows 下端口被占用
- Omad群组部署、依赖部署一键解决
- C4D中重点、难点分析
- 云安全课程:云平台使用安全