JSP中Forward与Redirect的区别(用例子说明)

Ubuntu下安装Hive3.1.2教程(附MySQL安装方法及安装包) 文章目录前言一、安装Hive1. 下载压缩包并解压2. 安装Hive3. 配置环境变量4. 修改配置文件二、MySQL安装与配置1. 安装MySQL2. 安装MySQL jdbc包3. 为Hive创建MySQL账号三、验证Hive安装及错误处理1. 启动Hadoop2. 启动hive3. 运行Hive实例总结 前言 Hive 的安装需要建立在 Hadoop 的之上(类似于Hbase),关于 Hadoop 的单机安装以及伪分布式安装可以参考作者的另两篇博客: Ubuntu下单机安装Hadoop详细教程(附 阅读详情

包含四个文件(放在同一目录$TOMCAT_HOME/webapps/forwardRedirectTest,其下应该放上简单的WEB-INF目录,这里不说了,我在Tomcat5.5.23下没放WEB-INF目录也行,^_^):index.jsp(主页,主要包含两个链接:一个指向执行forward的页面而且通过问号的形式传递参数,另一个指向执行redirect的页面而且通过问号的形式传递参数;另外还包括一个form用于测试forward与redirect传值的情况),requestForForward.jsp(执行forward的页面,并且接受问号以及form传过来的参数),requestForRedirect.jsp(执行redirect的页面,并且接受问号以及form传过来的参数),redirectOrForward.jsp(forward或者redirect到此页面,主要用来接受从index.jsp中以问号以及form传过来的参数,以说明forward以及redirect的区别)。

(由于使用csdn blog自带的代码粘贴工具会朝里加入一些"..."字符,虽然利于查看,但是不利于把代码copy出来运行,而亲自运行代码对程序员来说是很重要的,故没有使用csdn blog自带的代码粘贴工具来插入代码,而是用着用直白的方式):

一、四个文件源代码

index.jsp

(主页,主要包含两个链接:一个指向执行forward的页面而且通过问号的形式传递参数,另一个指向执行redirect的页面而且通过问号的形式传递参数;另外还包括一个form用于测试forward与redirect传值的情况)

<html>
<head>
    <title>index.jsp</title>
    <SCRIPT LANGUAGE="JavaScript">
            <!--
            function submit1(url)
            {
                document.form1.action=url;
                document.form1.submit()
            }     
            // -->
        </SCRIPT>
</head>
<body>
    <form name="form1" method="POST" action="">
         <INPUT type="hidden" name="formPara" value="formPara">
    </form>
index.jsp
<br/>
<a href="#" onClick="submit1('requestForForward.jsp?redirectOrForward=requestForForward')">requestForForward.jsp</a>
<br/>
<a href="#" onClick="submit1('requestForRedirect.jsp?redirectOrForward=requestForRedirect')">requestForRedirect.jsp</a>

</body>
</html>

requestForForward.jsp

(执行forward的页面,并且接受问号以及form传过来的参数。实际运行表明:执行完第一行代码后,后面的就不执行了,其实就第一行游泳)

<jsp:forward page="redirectOrForward.jsp"/>


<%out.println("requestForForward.jsp<br/>");
String str=request.getParameter("redirectOrForward");
out.println(str+"<br/>");
String str1=request.getParameter("formPara");
out.println(str1+"<br/>");
%>

requestForRedirect.jsp

(执行fredirect的页面,并且接受问号以及form传过来的参数。实际运行表明:执行完第一行代码后,后面的就不执行了,其实就第一行游泳)

<%
response.sendRedirect("redirectOrForward.jsp");
%>


<%out.println("requestForRedirect.jsp<br/>");
String str=request.getParameter("redirectOrForward");
out.println(str+"<br/>");
String str1=request.getParameter("formPara");
out.println(str1+"<br/>");
%>

redirectOrForward.jsp

(forward或者redirect到此页面,主要用来接受从index.jsp中以问号以及form传过来的参数,以说明forward以及redirect的区别)

<%out.println("redirectOrForward.jsp<br/>");
String str=request.getParameter("redirectOrForward");
out.println(str+"<br/>");
String str1=request.getParameter("formPara");
out.println(str1+"<br/>");
%>

二、forward以及redirect的执行过程以及结果

forward的执行过程

1、运行包含这几个jsp的工程,比如URL为:http://davidcui:8080/forwardRedirectTest/index.jsp
2、点击主页上requestForForward.jsp 链接(链接URL为:http://davidcui:8080/forwardRedirectTest/requestForForward.jsp?redirectOrForward=requestForForward)
3、查看结果,结果为(此时地址栏中URL为:http://davidcui:8080/forwardRedirectTest/requestForForward.jsp?redirectOrForward=requestForForward):
redirectOrForward.jsp
requestForForward
formPara
 

redirect的执行过程

1、运行包含这几个jsp的工程,比如URL为:http://davidcui:8080/forwardRedirectTest/index.jsp
2、点击主页上requestForRedirect.jsp  链接(链接URL为:http://davidcui:8080/forwardRedirectTest/requestForRedirect.jsp?redirectOrForward=requestForRedirect)
3、查看结果,结果为(此时地址栏中URL为:http://davidcui:8080/forwardRedirectTest/redirectOrForward.jsp):
redirectOrForward.jsp
null
null

 

三、分析forward以及redirect的区别

 

从第二部分的“forward以及redirect的执行过程以及结果”可以看出forward以及redirect至少有两个区别:
其一、forward(requestForForward)可以把index.jsp中的问号以及表单中的参数传到forward的目标页面(redirectOrForward.jsp),但是redirect不行;
其二、forward的时候,请求的地址(点击requestForForward.jsp 中链接URL)就是最终显示在浏览器地址栏中的URL,而redirect时,请求的地址与最终显示在浏览器地址栏中的URL一般不一样,而且后者以redirect时的参数(地址)为准。

基于以上做一个简单的分析或者说推测:
1、forward是你所请求的URL所在服务器,把你的请求封装成流传给forward到的目标页面(其中含有以及基本信息以及参数等),而redirect相当于你首先向你所请求的URL申请,然后此URL给你一个新的URL,你再向此新URL再来一次新的请求,所以浏览器地址栏会变,而且接受不到原先传的参数(index.jsp中传的) 

 

 

 

 

【Flink】Flink 消费一段时间1万多条数据就卡死 我们有个现场环境,发现了奇怪的现象,就是每次启动任务后,消费1万多条数据后就会卡死,然后整个流不消费,也不往下输出,看起来卡死了一样。缺图这里面出现的网闸原因导致的,但是经过我们写了一个简单的kafka消费程序,然后在出问题的节点上消费数据,实际排查,发现不是这个问题。这个问题,发现也不是,这段时间没有进行过kafka数据清理。里面的问题。因为这个问题,我们后面的代码刻意规范了,不这样操作。后来是在没办法了,然后我们dump了线程,发现有如下代码。 阅读详情

相关推荐

达梦数据库与sharding-jdbc的深度适配实践

本文详细介绍了达梦数据库与sharding-jdbc的深度适配实践,包括驱动与依赖管理、核心适配实现、注册与配置等关键步骤。通过扩展shardingSphere的方式,成功实现了达梦数据库的分库分表功能,并提供了常见问题解决方案和性能优化建议,助力企业级应用高效处理海量数据。

weixin_30300225的博客 623

[JSP] 实现请求重定向

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

我的博客 6282

差分隐私(Differential Privacy)

差分隐私,拉普拉斯机制和高斯机制的证明

Michale_L的博客 1万+

在JSP中forward和redirect的实例应用

绝对路径与相对路径 如果咱们使用的URL网址是以“/”开头的,那么这个网址就叫做绝对路径。 如果咱们使用的URL网址不是“/”开头的,那么这个网址就叫做相对路径。 在相对路径上,两者的表现是相同的。 看看lingo-sample/03-03/这个例子,如果我们去请求relative/forward.jsp或redirect.jsp,然后从这里再跳转向它下面的result/result.jsp会怎样...

iteye_7143的博客 555

别再只跑memtester了!嵌入式Linux内存压力测试,这5个参数和场景你试过吗?

本文深入探讨了嵌入式Linux内存压力测试的高级技巧,重点解析了memtester工具的5个关键参数和实战场景。通过物理地址测试、迭代控制、内存分配策略等调优方法,帮助开发者有效检测内存稳定性问题,适用于长期运行设备、特定故障重现等复杂场景,提升嵌入式系统可靠性。

weixin_30838873的博客 424

DB文件在编程中的作用及示例代码

通过使用DB文件,我们可以实现数据的持久化存储,并能够高效地进行数据的增删改查操作。在本文中,我们以SQLite数据库为例,演示了如何使用Python语言创建和操作DB文件的示例代码。在实际的编程中,我们可以根据具体的需求和使用的数据库系统来进行更复杂的操作和优化。通过使用DB文件,我们可以实现数据的持久化存储,确保数据在程序关闭后也能被保留,并且能够高效地进行数据检索和更新。在本文中,我们将探讨DB文件的作用,并提供一些示例代码展示如何在编程中使用DB文件。上述代码中,我们使用SQLite提供的。

CodeSpark的博客 1821

Jsp中的forward 和 redirect

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

我的博客 4433

15、分布式参数热交换器:建模、动态特性与控制

本文综述了分布式参数热交换器的建模、动态特性和控制方法。从热交换器的基本方程推导出发,探讨了一维流动、流动强迫、错流、螺旋和旋转再生式热交换器的建模方法,并分析了其动态行为和频率响应中的共振现象。同时,介绍了热交换器的模拟方法,包括数值模拟和近似方法,并讨论了多种控制策略,如常规控制、最优控制、数字控制以及自适应控制。最后,总结了热交换器研究的发展历程,并展望了未来的研究方向,包括建模精度提升、控制算法优化和跨学科融合等。

w8x9y0z1的博客 123

jsp转发(forward )和重定向(redirect )的区别

转发和重定向的区别

2301_76592091的博客 609

[特殊字符] 2026终极实战:Python爬取得物App球鞋实时交易价格 —— 从签名破解到数据可视化全栈指南

价格敏感度:热门鞋款(如Air Jordan 1、Yeezy 350、Dunk SB)价格每分钟都在波动,短线套利空间巨大。稀缺性:限量发售、联名款、地区限定,导致供需关系实时变化。数据壁垒:得物App使用自研WMS签名算法设备指纹绑定动态请求头加密,是爬虫工程师的“练兵场”。本博客将手把手带你从零搭建一套生产级得物球鞋价格爬虫系统,涵盖:抓包与逆向分析(mitmproxy + Frida)签名算法逆向(Python复刻)设备模拟与心跳保活(ADB + uiautomator2)

2201_76125261的博客 1125

基于投影法实现扫描文件的光学字符分割——Matlab实现

投影法是指将原图像沿着某个特定的方向进行投影,得到投影线上的像素点的个数或像素值总和,从而可以得到该方向上物体的轮廓信息。对于字符分割,我们可以将图像进行水平和垂直两个方向的投影,从而得到字符之间的分割线。在OCR技术中,字符分割是非常重要的一步骤,因为字符之间的分割对字符识别的准确性有很大的影响。通过对投影值的判断,可以求出字符之间的分割线,这里我们根据垂直方向上的投影值进行判断,选取一个阈值进行筛选即可。使用sum()函数分别计算出水平和垂直方向上的投影值,得到每一行和每一列的投影值。

TechGlide的博客 582

jsp - redirect重定向 / forward转发

redirect:请求重定向:   客户端行为,本质上为2次请求,地址栏改变,前一次请求对象不保存, 所以请求携带的数据会丢失。   举例:你去银行办事(forward.jsp),结果告诉你少带了东西,你得先去公安局办(index.html)临时身份证,这时你就会走出银行,自己前往公安局,地址栏变为 index.html. forward:请求转发:   服务器行为,地址栏不变...

weixin_30307921的博客 252

矢量网络分析仪校准:原理、方法与系统适配性

矢量网络分析仪(VNA)校准是射频测量的关键环节,通过误差建模(12项误差项)和标准件测量,可将系统不确定度从±5dB降至±0.1dB以下。主流校准方法包括SOLT(适用于同轴系统)和TRL(适用于波导系统),二者在标准件、误差重点及频率上限等方面存在显著差异。随着6G与量子通信的发展,动态实时校准将成为新趋势。工程师需根据传输结构、频率范围及精度需求选择合适方法,确保测量精度。

u014344410的博客 262

JSP中Forward和Redirect之间的区别

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

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

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

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

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

Java 377

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Servlet中forward和redirect的区别(转)

<br /><br />forward方式:request.getRequestDispatcher("/somePage.jsp").forwardrequest, response);     <br />redirect方式:response.sendRedirect("/somePage.jsp");<br />forward是服务器内部重定向,程序收到请求后重新定向到另一个程序,客户机并不知道;redirect则是服务器收到请求后发送一个状态头给客户,客户将再请求一次,这里多了两次网络通信的来往。

huangchunhan的专栏 2万+

forward,include,redirect区别

forward,include,redirect是jsp中web页面(jsp或servelt)的三种不同的路由关系,三个貌似相同,其实还是有许多差别的,而了解这些细微的差别,在web开发中是很重要的。 说明: 一、forward、include由javax.servlet.RequestDispatcher来封装,由包容器container提供RequestDispatcher接口的实现,其中声明

stonecai的专栏 1520

forward,include,redirect区别。

forward,include,redirect是jsp中web页面(jsp或servelt)的三种不同的路由关系,三个貌似相同,其实还是有许多差别的,而了解这些细微的差别,在web开发中是很重要的。 说明: 一、forward、include由javax.servlet.RequestDispatcher来封装,由包容器container提供RequestDispatcher接口的实现,...

weixin_34336292的博客 442

Forward与Redirect:一次请求内部交接,还是让浏览器重新请求

从Servlet请求生命周期区分forward与redirect:请求属性、路径变化、302/303/307、响应提交以及fetch导航行为各自有什么边界。

冷脸萌萌的技术实践 2032

JSP中forward和redirect的区别

forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。

yehell的专栏 6784

jsp中redirect和forward的区别

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

于大大大洋 985

jsp中jsp:forward 与 redirect区别

部分转载:http://hi.baidu.com/168zlf/item/2f4b2ad4351b881c20e2500c 在网上看到一些帖子,总结了一些区别,可以从以下几个方面来看: 1.从地址栏显示来说 forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容 再发给浏览器.浏览器根本不知道服务器发送的内容从哪里

每一次对问题的深究,总会收获新的知识和体会 1886

Forward和Redirect的区别

转载:JAVA常见面试题之Forward和Redirect的区别 一、说明 用户向服务器发送了一次HTTP请求,该请求可能会经过多个信息资源处理以后才返回给用户,各个信息资源使用请求转发机制相互转发请求,但是用户是感觉不到请求转发的。根据转发方式的不同,可以区分为直接请求转发(Forward)和间接请求转发(Redirect),那么这两种转发方式有何区别呢?本篇在回答该问题的同时全面的讲解两种请求转发方式的原理和区别。 二、分析 Forward和Redirect代表了两种请求转发方式:直接转发和间接转发。

zxc_jkl的博客 195

(转)java笔试题1

JAVA相关基础知识 1、面向对象的特征有哪些方面   1.抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派

jackyrongvip的专栏 692

Forward与Redirect的区别

http://blog.sina.com.cn/s/blog_8df07b6f0100u0d1.html Forward与Redirect 在做前台开发过程中你可能经常遇到关于转发页面得操作,很显然的就想到了forward和redirect,但是到底用哪一个呢,他们之间有什么区别呢,现在我将我自己的理解以及开发的时候怎么应用写出来供大家参考一下: (1)共同点: 都

zxygww的专栏 2285
上一篇: 使用dom4j解析XML例子
下一篇: KMP算法的Java实现例子以及测试分析
cuiweibing
博客等级 码龄22年 23粉丝 28原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值