jsp中forward和redirect的区别

jsp forward与redirect实探 NULL 博文链接:https://dreamzhong.iteye.com/blog/1128006 立即下载
在servlet中:

forward:request.getRequestDispatcher("new.jsp").forward(request,response);

redirect:response.sendRedirect("new.jsp");


在jsp中转发:

<jsp:forward page="apage.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应用以外的资源。在重定向的过程中,传输的信息会被丢失。


例子:


response.sendRedirect("loginsuccess.jsp");


请求转发是服务器内部把对一个request/response的处理权,移交给另外一个


对于客户端而言,它只知道自己最早请求的那个A,而不知道中间的B,甚至C、D。传输的信息不会丢失。


例子:


       RequestDispatcher dis=request.getRequestDispatcher(“loginsuccess.jsp”);


       Dis.forward(request,response);


解释三


假设你去办理某个执照


重定向:你先去了A局,A局的人说:“这个事情不归我们管,去B局”,然后,你就从A退了出来,自己乘车去了B局。


转发:你先去了A局,A局看了以后,知道这个事情其实应该B局来管,但是他没有把你退回来,而是让你坐一会儿,自己到后面办公室联系了B的人,让他们办好后,送了过来。

jsp中页面之间的跳转forward与sendRedirect的区别 页面之间的跳转可以通过两种方式实现:forward和sendRedirect。 forward:可以在JSP页面中使用,可以在Servlet中实现。 在JSP页面中使用,例如要跳转到userlist.jsp,可以写: 代码如下: 在Servlet中使用RequestDispatcher的forward方法,要跳转到userlist.jsp,可以写: 代码如下: RequestDispatcher rd = request.getRequestDispatcher 立即下载

相关推荐

SAP 财务接口开发:完全清账 vs 标准过账的 CO-PA(获利能力字段) 赋值全解析(含设计哲学)

用于完全清账场景:用于标准凭证过账/部分清账两者对 CO-PA 数据的传递方式截然不同。本文不仅提供完整的代码实现,更深入解析为什么 SAP 要这样设计——了解设计哲学,才能灵活应对各类需求。完全清账→ 调用,必须在T_FTPOST中传递,其他特征用BSEG-RKE_前缀。标准过账/部分清账→ 调用,在CRITERIA表中传递特征,字段名直接用WERKSARTNR等。SAP 的设计智慧面向不同场景,采用不同机制,各司其职。通过接口抽象,将复杂的 CO-PA 配置逻辑封装在内部,对外提供简洁的调用方式。

Pegasus666的博客 326

JSP中forward与redirect的区别

1.执行forward后依然是上一次请求,而执行redirect后生成第二次请求。 2.forward的目标页面可以访问原请求的请求参数,因为是同一次请求,所有原请求的参数和request范围内的属性全部存在;redirect的目标页面不可以访问原请求的请求参数,因为是不是同一次请求,所有原请求的参数和request范围内的属性全部丢失; 3.forward后地址栏里的URL不会改...

fcltctl的专栏 213

Python实战:用pdfplumber从PDF中精准提取表格数据(附完整代码)

本文详细介绍了如何使用Python库pdfplumber从PDF中精准提取表格数据,包括环境配置、标准与复杂表格处理策略、数据清洗与验证等实战技巧。通过完整代码示例,帮助数据分析师和财务专业人士实现PDF数据提取的自动化,提升工作效率。

weixin_29061821的博客 398

Jsp中Forward和Redirect的区别。

RequestDispatcher.forward()方法和HttpServletResponse.sendRedirect()方法的区别是:前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址,他是不会改变Request的值,如果你需要在下一个页面中能从中获取新的信息的话,你可以Request.setAttribute()来放置一些标志,这样从下一个页面中获取;后者则是完全的

sandyen的专栏 4301

宇树机器人丝滑的二人转动作背后,MPC到底是什么?

了解MPC,让我们闻“机”起舞。

Barok的博客 2144

【可信数据空间-部署方案】

此部署架构体现了以下几个核心原则:去中心化: 数据存储和处理完全分布在各个参与者端,运营方只提供核心的协调和信任基础设施。安全边界清晰: 通过VPC、DMZ、防火墙、K8s命名空间等技术,在每个层级都建立了严格的安全边界。高可用与弹性: 所有关键服务均以集群方式部署,避免单点故障,并能根据负载动态伸缩。云原生: 全面采用容器化和Kubernetes编排,简化部署、管理和运维复杂度。合规性: 架构设计天然满足数据驻留要求(数据留在企业本地),并为所有操作提供不可篡改的审计追踪能力。

u014716614的博客 771

[JSP] 实现请求重定向

在服务器端, 对客户端的请求进行重新的定向, 请注意请求重定向和请求转发的区别; 用三个jsp网页演示请求重定向: redirect1.jsp 用来向redirect2.jsp提交表单, redirect1.jsp的代码为:

我的博客 6282

Easy3D&CGAL文章目录汇总

Easy3D&CGAL文章目录汇总

dayuhaitang1的博客 2862

forward与redirect!转发和重定向 解析(转)

1.从地址栏显示来说forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.2.从数据共享来说forward:转发页面和转发到的页面可以共享requ...

lichengyezi的博客 346

AutoSAR MemMap模块概述及配置参数详解

这个模块是干啥的?它是用来配置Memory Mapping and Compiler Abstraction module。

4508

如何用libwebsocket库在stm32F407上实现websocket客户端?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1132

Jsp中的forward 和 redirect

Jsp中的forward 和 redirect一、绝对路径和相对路径相对路径绝对路径二、实现机制Forward:转发----服务器行为Redirect重定向----客户端行为三、运用场景forwardredirect 一、绝对路径和相对路径 绝对路径与相对路径 如果使用的URL网址是以“/”开头的,那么这个网址就叫做绝对路径。 如果使用的URL网址不是“/”开头的,那么这个网址就叫做相对路径。 看...

我的博客 4433

智能车图像处理12-进阶篇4--环岛辅助判断条件

主函数: 第6行: 含义是当前需要不在坡道和车库状态 第11-12行 : 寻找一下环岛的双断点(在辅助函数中) 第16-66行: 当左右线的方差满足一边很大,一边很小时,truepianfangflag /truepianfangflagforleft 置1,在环岛的判断中使用。 辅助函数: 双断点函数(左与右相似,以做为例): 第13-28行: 第一处断点 第29-40行: 第一处断点后 连续边线 第41-52行: 第一处连续后,第二处断点 第53-64行: 第二处断点后,第二处

taiyuezyh的博客 1万+

JSP中Forward和Redirect之间的区别

Forward是服务端跳转,浏览器只发起一起请求,服务端接收到浏览器请求后,进行跳转,然后将结果返回至浏览器。浏览器不知道请求在服务端进行了跳转,故浏览器地址栏的地址不变 Redirect是浏览器端跳转,浏览器总共发起2次请求,服务端接收到第一次请求后,返回302状态码,浏览器将向响应头中Location属性值中保存的地址再次发起请求。由于是2次请求,故浏览器地址栏的地址会发生变化

怀揣梦想,努力前行 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

jsp中redirect和forward的区别

jsp中redirect和forward的区别 博客分类:  JSP   在网上看到一些帖子,总结了一些区别,可以从以下几个方面来看: 1.从地址栏显示来说 forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容 再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地

鲲鹏宇飞(RocFly) 1061

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

jsp 中forward 和 Redirect 的用法区别

jsp中跳转的用法和区别区别用法forward的用法redirect的用法 区别 首先我们要知道的是forward是转发,地址用的是原地址,但是内容变为设置转向地址的内容。 redirect : re代表重新 direct代表定向、定位,所以redirect是重定向。作用是重新确定网址和页面内容,也就是说redirect才是我们常规意义里的跳转 用法 forward的用法 <jsp:forward page="customer_shop.jsp"></jsp:forward> 不

z2431435的博客 836

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

JSP中 forward() 与redirect()的区别?

从地址栏显示来说forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.所以redirect等于客户端向服务器端发出两次request,同时也接受两次response。2.从数据共享来说forward:转发页面和转发到的页面可以共享request里面的数据.r

Java 377

jsp中forward和redirect区别

文章原地址:http://zhulin902.iteye.com/blog/939049 1.从地址栏显示来说 forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址. redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.

雪斋 863
上一篇: JSP九大内置对象及四个作用域
下一篇: servlet的生命周期
andyLiuJava
博客等级 码龄14年 0粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值