java重定向与转发的区别

JavaWeb 中 “转发”与 “重定向”的区别 转发:指内部转发。当一个Servlet处理请求的时候,它可以决定自己不继续处理,而是转发给另一个Servlet处理。转发是由WEB服务器来控制的。A资源跳转到B资源,这个跳转动作是Tomcat服务器内部完成的而我们前端也就是浏览器端是不知道我们服务器端对这个请求内部转发处理了多少次。并且无论我们服务器内部转发了多少次,前端浏览器都仅仅只会认为仅仅只转发了一次,也就是仅仅发送了一次请求。因为我们服务器端虽然进行了转发但是,浏览器的地址栏上的请求路径的地址是没有改变的(还是初始的请求路径)编写的转发路径是。 阅读详情
深入理解
转发过程(一个请求):
客户首先发送一个请求到服务器端,服务器端发信匹配的servlet,并指定它去执行,当这个servlet执行完之后,它要调用getRequestDispacther()方法,把请求转发给指定的student_list.jsp,整个流程都是在服务器端完成,而且是在同一个请求里完成的。因为srvlet和jsp共享的是同一个request,在servlet里面放的所有东西,在student_list中都能取出来,因此,student_list能把结果getAttribute()出来,getAttribute()出来后执行完把结果返回给客户端,整个过程是一个请求一个相应。
重定向过程(两个请求):
客户发送一个请求到服务器,服务器匹配servlet,这都和请求转发一样,servlet处理完之后调用sendRedirect()这个方法,这个方法是response的方法,所以,当这个servlet处理完之后,看到response.sendRedirect()方法,立即向客户端返回这个响应,响应行告诉客户端你必须要再发送一个请求,去访问student_list.jsp,紧接着客户端受到这个请求后,立即发出一个新的请求,去请求student_list.jsp,这里两个请求互不干扰,相互独立,在前面request里面setAttribute()的任何东西,在后面的request里面都获得不了,可见,在sendRedirect()里面是两个请求,两个响应。

表象
转发
当用RequestDispatcher请求转发后,地址栏为http://localhost:8080/test/TestServlet,这真好应了上面的分析,我们起初请求的就是一个servlet,至于服务器怎么转,流程是什么样的,我们客户端是不知道的。所以,当服务器端转发了jsp后,它把结果返回给客户端,客户端根本就不知道你这个结果是我真正访问的servlet产生的,还是由servlet转发后下一个组件产生。
重定向
当用sendRedirect重定向后,地址栏为http://localhost:8080/test/student_list.jsp,因为这个时候,客户端已经知道了他第二次请求的是student_list.jsp,服务器已经告诉客户端去访问student_list.jsp了,所以地址栏里会显示想要访问的结果。


总结
(1)转发在服务器端完成的;重定向是在客户端完成的
(2)转发的速度快;重定向的速度慢
(3)转发是同一次请求,重定向是两次不同请求
(4)转发不会执行转发后的代码;重定向会执行重定向之后的代码
(5)转发地址栏没有变化;重定向地址栏有变化
(6)转发必须在同一台服务器下完成;重定向可以在不同的服务器下完成
【调试记录】GT ip跑aurora 64b66b协议 如果不用,会出现这种情况:自回环测试,数据收发ok.一旦和对方通信,对方接收的就是一堆乱码,因为GT链路发送数据不能是全1或全0,或者长时间的1或0.否则线路容易受到干扰,毕竟线速率10多G,用了加扰和解扰,就可以提高抗干扰能力。64B66B编码,数据输入是64bit,输出是66bit,所以这之间存在着2bit的带宽差,Gearbox 就是用来解决这种差异的,实现方式是:将66bit数据拿出来2bit先存入Gearbox,然后输出64bit.发送同步码或控制数据时,配置成2.2.4 加扰和解扰! 阅读详情

相关推荐

Nginx下ModSecurity模块安装详细教程

本文提供了在Nginx 1.28.0上安装ModSecurity v3的完整教程。首先需安装编译依赖,然后从源码编译安装ModSecurity库并设置优化参数。接着编译Nginx动态模块并配置加载。核心配置包括设置规则引擎、日志路径及性能优化参数。安装OWASP核心规则集后,在Nginx站点配置中启用ModSecurity。最后测试规则有效性并给出性能优化建议,如规则排除、精简规则集等。整个过程包含详细的命令和配置示例,确保安全防护功能正常运作。

深山技术宅的博客 1782

java刷新response_Javaweb之response之刷新与重定向

Java_web 中的response的刷新问题第一种也是以后最常用的刷新,使用上下文转发的方式;public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String message="登陆成功,3秒后自动跳转,如果失败请点击超链...

weixin_29592699的博客 657

DAC60501与STM32的I2C通信实战:从寄存器配置到电压输出

本文详细介绍了如何使用STM32通过I2C通信驱动DAC60501数模转换器,实现精确的模拟电压输出。内容涵盖从硬件连接到软件模拟I2C驱动编写,再到DAC寄存器配置与电压计算的全流程实战指南,并提供了关键的驱动实例代码和常见问题调试技巧,帮助开发者快速掌握这一嵌入式开发中的实用技能。

weixin_29197835的博客 365

详解java重定向和转发的区别

重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程。 与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求。因为,当你使用重定向时,浏览器中所显示的URL会变成新页面的URL, 而当使用转发时,该URL会保持不变。重定向的速度比转发慢,因为浏览器还得发出一个新的请求。同时,由于重定向方式产生了一个新的请求,所以经过一次重定向后,request内的对象将无法使用。 怎么选择是重定向还是转发呢?通常情况

m0_46672151的博客 2839

Xilinx Vitis 2020.1中Microblaze SREC SPI Bootloader初始化失败的调试与修复指南

本文详细解析了在Xilinx Vitis 2020.1开发环境中,Microblaze SREC SPI Bootloader初始化失败的常见原因与解决方案。核心问题通常源于Flash上电时序或软件配置,如`serial_flash_family`参数未生效、链接脚本设置不当或BRAM初始化文件选择错误。文章提供了从硬件配置检查、工程设置修正到代码级添加重试机制的完整调试路径,帮助开发者快速定位并修复启动故障,确保系统稳定启动。

weixin_29163857的博客 186

InSAR图像配准:从像素级到亚像素级的精度提升策略

本文深入探讨了InSAR图像配准技术,从像素级到亚像素级的精度提升策略。通过分析最大频谱法和相干系数法的适用场景,结合频域补零插值和四叉树分块等高级技术,实现1/8像素级的高精度配准。文章还提供了实用的精度验证方法和常见问题排查指南,为InSAR数据处理提供全面解决方案。

nginx7reverse的博客 835

16.转发与重定向的区别

在目标资源完成处理后,响应结果会返回给客户端。在Java中,转发(forward)通常指的是请求转发(Request Forwarding),它是一种在Web应用程序中进行服务器端跳转的技术,可以将一个请求转发给另外一个资源进行处理和响应,转发是基于服务器端的,在客户端看来,它只看到了一个请求和一个响应。需要注意的是,转发与重定向(Redirect)不同,重定向是一种客户端跳转技术,是通过HTTP 302状态码将请求重定向到新URL地址进行处理,客户端会重新发送一个新请求,因此会有两个请求和两个响应。

khmff的博客 357

AI大模型助力现金流精准预测案例详解

因为它的“注意力机制”能像“人一样思考”——比如,当预测“下周现金流”时,模型会重点关注“最近7天的销售数据”“未来7天的天气”“竞品是否有促销”这些关键因素,而忽略“去年同期的无关数据”。AI大模型不是“取代”财务人员,而是“赋能”他们——把财务人员从“重复的Excel操作”中解放出来,专注于“战略决策”(比如如何优化资金结构、如何提升资金利用率)。比如,“促销力度”这个特征,不是简单的“折扣率”,而是“折扣率×促销天数×覆盖SKU数量”,这样能更准确反映促销对现金流的影响。这些问题的核心,其实是。

AIGC应用创新大全的博客 1258

java重定向和请求转发区别

请求转发: request.getRequestDispatcher().forward(); 重定向: response.sendRedirect(); 例如: 请求转发: request.getRequestDispatcher("/student_list.jsp").forward(request,response); 重定向: response.sendRedirect(request.getContextPath + "/student_list.jsp") 转发过..

weixin_57763462的博客 2103

科研绘图系列:基因突变瀑布图统计以及可视化

科研绘图系列:基因突变瀑布图统计以及可视化

专注生信领域 1653

【VMware】win 10:VMware 15 虚拟机安装 win 7 系统

目录 一、准备虚拟机 二、win7 ghost ISO镜像文件下载 三、VMware新建虚拟机 四、VMware安装win7 五、解决vmware虚拟机屏幕没有适应窗口全屏问题 一、准备虚拟机 查看我的另一博文:【VMware】VMware Workstation Pro15 虚拟机永久激活破解安装教程 二、win7 ghost ISO镜像文件下载 百度网盘下载地址:点击前往下载...

顾三殇 —— 博客空间(软件测试) 11万+

Java Servlet 转发与重定向的区别及应用

本文章的目的在于全面、深入地剖析 Java Servlet 中转发与重定向这两个重要机制的区别以及它们在实际开发中的应用。范围涵盖了从基本概念的解释、原理的分析,到实际项目中的应用案例展示,以及对未来发展趋势的展望等多个方面。通过本文的学习,读者能够清晰地理解转发与重定向的本质差异,掌握它们在不同场景下的正确使用方法,从而在 Java Web 开发中更加灵活地运用这两种机制来实现各种功能。

Java大师兄的博客 859

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

java 转发与重定向的区别_java转发和重定向的区别

重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程。 与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求。因为,当你使用重定向时,浏览器中所显示的URL会变成新页面的URL, 而当使用转发时,该URL会保持不变。重定向的速度比转发慢,因为浏览器还得发出一个新的请求。同时,由于重定向方式产...

weixin_33037813的博客 570

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Java重定向与转发的区别

java重定向与请求转发的区别 请求转发: request.getRequestDispatcher().forward(); 重定向: response.sendRedirect(); 例如: 请求转发: request.getRequestDispatcher("/student_list.jsp").forward(request,response); 重定向: res...

shujuku____的博客 212

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

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

java 重定向和转发的区别

java 重定向和转发的区别 response.sendredirect("http://www.foo.com/path/error.html"); 重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程。 与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求。因为,当你使用重定

奋斗的结晶属于奋斗者 768

java重定向和转发的区别【转】

response.sendredirect(“http://www.foo.com/path/error.html”); 重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程。 与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求。因为,当你使用重定向时,浏览器中所显示的URL会变成新页面的...

ACTIM的博客 227

java重定向与请求转发的区别

请求转发: request.getRequestDispatcher().forward(); 重定向: response.sendRedirect(); 例如: 请求转发: request.getRequestDispatcher("/student_list.jsp").forward(request,response); 重定向: response.sendRedirect(request....

weixin_42714605的博客 175

Java请求转发和重定向的区别

Java请求转发和重定向的区别。

m0_54424704的博客 606

java 转发 重定向_java重定向与请求转发的区别

最近工作不算太忙,今天在这里对java中的重定向和请求转发稍作总结,希望能帮助到大家。请求转发:request.getRequestDispatcher().forward();重定向:response.sendRedirect();例如:请求转发:request.getRequestDispatcher("/student_list.jsp").forward(request,response)...

weixin_39571404的博客 144

java 重定向与转发的区别

重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程。 与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求。因为,当你使用重定向时,浏览器中所显示的URL会变成新页面的URL, 而当使用转发时,该URL会保持不变。重定向的速度比转发慢,因为浏览器还得发出一个新的请求。同时,由于重定向方式产

qq_34798820的博客 134

java通过不同请求转发不同端口_java重定向与请求转发的区别

请求转发:request.getRequestDispatcher().forward();重定向:response.sendRedirect();例如:请求转发:request.getRequestDispatcher("/student_list.jsp").forward(request,response);重定向:response.sendRedirect(request.getConte...

weixin_30824121的博客 742
上一篇: 怎么避免一些不必要的弯路
下一篇: 编写高质量代码:改善java程序的151个建议
self_defining
博客等级 码龄10年 31粉丝 82原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值