请求转发与重定向

请求转发与重定向的区别,并介绍请求转发与重定向 ** 请求转发与重定向的区别,并介绍请求转发与重定向 ** 一.请求转发与重定向的区别 1) 重定向对浏览器的请求直接作出响应,响应的结果就是告诉浏览器去重新发出对另外一个URL的访问请求,这个过程好比有个叫“浏览器”的人写信找张三借钱,张三回信说没有钱,让“浏览器”去找李四借,并将李四现在的通信地址告诉给了“浏览器”。于是,“浏览器”又按张三提供通信地址给李四写信借钱,李四收到信后就把钱汇给了“浏览器”。 由此可见,重定向的时候,“浏览器”一共发出了两封信和收到了两次回复,“浏览器”也知道他借到的钱出自 阅读详情

一、请求转发与重定向

1. 重定向

客户发送一个请求到服务器,服务器匹配servlet,这都和请求转发一样,servlet处理完之后调用了sendRedirect()这个方法,这个方法是response的方法,所以,当这个servlet处理完之后,看到response.senRedirect()方法,立即向客户端返回这个响应,响应行告诉客户端你必须要再发送一个请求,去访问student_list.jsp,紧接着客户端受到这个请求后,立刻发出一个新的请求,去请求student_list.jsp,这里两个请求互不干扰,相互独立,在前面request里面setAttribute()的任何东西,在后面的request里面都获得不了。可见,在sendRedirect()里面是两个请求,两个响应。

Created with Raphaël 2.1.0浏览器浏览器服务器服务器http请求接受请求并发送302状态码和新的url自动请求新的url寻找客户所需的资源响应到浏览器

2. 请求转发

客户首先发送一个请求到服务器端,服务器端发现匹配的servlet,并指定它去执行,当这个servlet执行完之后,它要调用getRequestDispacther()方法,把请求转发给指定的student_list.jsp,整个流程都是在服务器端完成的,而且是在同一个请求里面完成的,因此servlet和jsp共享的是同一个request,在servlet里面放的所有东西,在student_list中都能取出来,因此,student_list能把结果getAttribute()出来,getAttribute()出来后执行完把结果返回给客户端。整个过程是一个请求,一个响应。

Created with Raphaël 2.1.0浏览器浏览器服务器服务器http请求服务器调用内部的一个方法在容器内完成请求处理和转发动作将客户所需资源发送到浏览器

二、请求转发与重定向在Java中的使用

servlet可以将发送给自己的某个请求转发给另外一个URL地址,这个地址可以是html、jsp、servlet或是其他的http地址。servlet的请求转发有三种方式:
1. inclue(请求转发)方法,应用代码为

request.getRequestDispatcher("/url").include(request, response);

其中URL地址是某个http地址。include转发时,地址栏没有改变,是原来的地址,这个过程是在服务器端完成,Servlet和被包含的页面同时被输出。include() 方法执行玩后,下面的代码继续执行。
2. forward(请求转发)方法,

request.getRequestDispatcher("/url").forward(request,response);

地址栏也不会改变,同样是在服务器端完成,但仅输出被转发的URL中的内容。forward()方法执行完后,它下面的代码将不再执行。
3. sendRedirect(重定向),只是客户重新发起一个请求,第二个请求指向其参数url。一般称做重定向,客户端的地址栏将改变为url值,是由客户端发起的第二次请求。参数中要写明具体的url地址,因为当客户端再次发送请求时,会直接请求web服务器根目录。要是要转发的一个html地址,它在WEB-INF文件夹下,那么要从servlet转发到这个
html地址,必须加上当前的web路劲名,这个路劲名可以通过request.getContextPath()获得,那么该转发代码可以为

response.sendRedirect(request.getContextPath()+"/login.html"); 

注意:重定向是浏览器向服务器重新发出请求,但转发相当于把request的范围扩大,例如:
在a界面有个连接<a href="b.jsp?id=1">,在b界面可以通过request.getAttribute("id")获得,
在b界面也有个连接<a href="c.jsp?name="123">,则在界面用request.getAttribute("id")就取不到值。这是每个连接就像一个重定向,相当于重新创建了一个request,当b->c时,a->b的request已经结束了。
接下来,在c的界面前加<jsp:forward page="d.jsp"/> ,那么变量name在c、d都有效,所以在d想取到参数name的值,不必要把参数值放到session里来扩大他的范围。

重定向与请求转发的区别 重定向与请求转发的区别 一、重定向、请求转发的定义 1. 重定向(Redirect) ① 客户端浏览器向Web应用服务器端发送一个请求; ② Web服务器端使用HttpServletResponse的sendRedirect()方法将结果(结果中头信息内HTTP状态码为302,Location响应报头域中保存响应回来的地址)返回客户端浏览器; 客户端浏览器收到服务器端结果后解析其头部信息,然后自... 阅读详情

相关推荐

请求转发与重定向的区别

1.转发与重定向的区别 -转发在服务器端完成的;重定向是在客户端完成的 -转发的速度快;重定向速度慢 -转发的是同一次请求;重定向是两次不同请求 -转发不会执行转发后的代码;重定向会执行重定向之后的代码 -转发地址栏没有变化;重定向地址栏有变化 -转发必须是在同一台服务器下完成;重定向可以在不同的服务器下完成      -Forward是在服

Johntil的博客 557

JavaWeb 速通Servlet(请求转发和请求重定向)

JavaWeb——HttpServletRequest 和 HttpServletResponse 内容分享。

优快云 / 稀土掘金/ B站 / GitHub: Cyan_RA9 3373

请求转发与重定向详解代码

请求转发与重定向详解代码,解读工作流程,详细内容在我的博客中有!

java的请求转发

在上面的示例代码中,当用户提交表单时,我们首先获取表单中的用户名和密码,并调用validateUser()方法来验证用户信息。否则,我们使用HttpServletResponse对象的sendRedirect()方法将用户重定向到登录页面,并在URL参数中传递错误代码。需要注意的是,转发的目标Servlet必须在当前应用程序的上下文路径中,例如,如果目标Servlet的URL为“/anotherServlet”,则当前应用程序的上下文路径必须是“/”,否则转发将失败。

misswell的博客 2847

Java中Request请求转发详解

主要介绍了Java中Request请求转发详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

3D点云目标检测Complex-YOLO(训练篇)(一)———KITTI数据集预处理与制作

KITTI dataset Download dataset KITTI 3D Object Detection Evaluation 2017 link 下载四个部分,共41.4GB 解压后为四部分内容(相机校准矩阵calib、RGB图像image_2、标签label_2、点云数据velodyne) 对应的testing和training数据。其中,training数据为7481张(图片和点云对应的场景),testing数据 7518张(无label_2数据)。 Data Preprocess

“知识最大的敌人不是无知,而是错觉” 7153

【Java web】请求转发&响应重定向

请求转发和响应重定向是Java web中两种资源跳转的方式。简单来说,对于完成一次请求需要许多特定的资源(如已经写好的页面或另一个Servlet),采取请求转发或响应重定向的方式来跳转并获取资源。

智子的博客 2186

ESP32系列之LVGL(四):输入设备(外部按键)对接

本文详细介绍了如何在ESP32上使用LVGL库对接外部按键作为输入设备,包括硬件连接、驱动层实现和LVGL输入设备移植。通过具体代码示例和实战案例,帮助开发者快速实现按键控制UI界面,解决常见问题如按键无反应和控件跳转不正常。

weixin_30907935的博客 242

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

请求转发: 请求转发,即request.getRequestDispatcher().forward(),是一种服务器的行为,客户端只有一次请求,服务器端转发后会将请求对象保存,地址栏中的URL地址不会改变,得到响应后服务器端再将响应发给客户端; 请求重定向: 请求重定向,即response.sendRedirect(),是一种客户端行文,从本质上讲等同于两次请求,前一次请求对象不会保存,地

Valineliu 5万+

五、2K0300 久久派开发板的GPIO控制与Shell脚本自动化实战

本文详细介绍了基于龙芯2K0300处理器的久久派开发板的GPIO控制方法,通过sysfs文件系统实现LED控制和传感器读取。重点讲解了Shell脚本自动化实战,包括LED闪烁、流水灯效果和传感器数据采集,为物联网项目开发提供完整解决方案。

silver的专栏 689

TensorRT量化实战教程:从PTQ到QAT,让你的模型推理速度飞起来

无论是PTQ的“快速落地”,还是QAT的“精度极致”,TensorRT量化技术都能成为你模型部署路上的“性能引擎”。通过本教程的实战项目,你已掌握从技术原理到工程落地的全流程能力——现在,不妨将你的模型代入其中,亲眼见证它在速度与精度的双重提升中“焕发生机”。若你在实操中遇到任何卡点,随时可以针对具体问题交流,我会尽全力帮你突破量化部署的每一个瓶颈。

FJN110的博客 239

重定向与请求转发

文章目录一.重定向1.重定向(Redirect)的定义:2.重定向的代码实现二.请求转发1.请求转发(forward)的定义:2.请求转发的代码实现三.重定向与请求转发的区别 开发java web项目时需要进行页面跳转,这时我们常用的两种方式就是重定向和请求转发 一.重定向 1.重定向(Redirect)的定义: ①客户端浏览器向Web应用服务器端发送一个请求, ②Web服务器端使HttpSer...

kjw888的博客 549

基于STM32L4XX 、HAL库的TMC2209-LA-T步进电机驱动器驱动程序应用设计

/ R/W=0 表示写。uint32_t gconf_value = (0 << 0) // I_scale_analog: 禁用,使用UART控制电流。uint32_t ihold_irun = (8 << 0) // 保持电流 8/31 最大值。

PP_Cottage的博客 450

请求转发与重定向区别

重定向(Redirect): 客户端浏览器向Web应用服务器端发送一个请求,Web服务器端使用HttpServletResponse的sendRedirect()方法将结果(结果中头信息内HTTP状态码为302,Location响应报头域中保存响应回来的地址)返回客户端浏览器;客户端浏览器收到服务器端结果后解析其头部信息,然后自动按照头部指定地址以GET方式再次向Web应用服务器端发请求,此时地址栏URL发生变化,服务器端接收到新的请求再将结果返回至客户端浏览器,客户端浏览器解释执行返回结果并将执行结果显

Gong_Zheng6的博客 3415

ICC2(一)import design —— tluplus

itf转tluplus相关命令 TLUPlus是存储RC系数的二进制表格式。 TLUPlus模型通过包括宽度,空间,密度和温度对电阻系数的影响,可以估算RC计算net delay。 1.2 产生TLUplus的方法 Itf文件转TLUplus的命令: grdgenxo -itf2TLUPlus -i xx.itf-o xx.tlu+ itf: interconnect technology format file 含每层的厚度,面积等参数 itf同样可以转nxtgrd格式文...

m0_61544122的博客 5485

图神经网络实战(8)——图注意力网络(Graph Attention Networks, GAT)

图注意力网络 (Graph Attention Networks, GAT) 是对图卷积网络 (Graph Convolutional Network, GCN) 的改进,提出了一种通过自注意力 (self-attention) 过程计算的加权因子,而不是使用静态的归一化系数。在本节中,我们介绍了 GAT 架构。通过从线性变换到多头注意力的四个主要步骤,了解了 GAT 的工作原理,并在 NumPy 中从零开始构建了 GAT 层。最后,将 GAT 模型应用于 Cora 和 CiteSeer 数据集。

盼小辉丶的博客 1万+

Servlet请求转发与重定向

JavaServlet

weixin_42051619的博客 2710

手把手完整实现STM32+NB-IoT+MQTT+ThingsCloud云平台+手机APP(Android或iOS)及微信小程序及Web app 应用

本教程以远程温湿度显示及点灯作为示例。最终效果实现本地OLED显示屏、云平台和手机APP、微信小程序和Web App可远程查看温湿度数据,并可远程控制LED灯亮灭。以此完成基于MQTT协议的NB-IoT远程发布订阅数据,以此在本教程基础上可扩展开发更多的功能。

嵌入式阿齐Archie 2万+

请求转发与响应重定向

请求转发与响应重定向 1.理解 请求转发(RequestDispatcher):服务器收到请求后,从一个资源跳转到另一个资源的操作。 响应重定向(Redirect):客户端给服务器发请求,然后服务器发送重定向的状态码给客户端,同时客户端向服务器重新请求指定的地址。 2.主要区别 请求转发: ​ (1)浏览器地址栏不发生改变,不会变为目标地址 ​ (2)请求转发是服务器的行为,整个转发的过程在服务器中完成 ​ (3)整个过程是一次请求,一次响应 ​ (4)各个资源共享Request域中的数据

Rex的博客 3014

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

ssm框架搭建

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

请求重定向与请求转发

相信很多刚开始接触jsp的同学会搞不清楚请求重定向和请求转发的区别,这里首先举个栗子~~ 假设你去办理某个护照 重定向:你去了A局,A局的人说:“这个事不归我们管,你们应该去B局”,然后,你就从A局退了出来,自己又跑了一趟B局。 转发:你去了A局,A局看了以后,知道这个事情应该归B局来管,但是他没有把你的请求退回来,而是让你坐一会,然后A局到后面自己联系了B局的人,把该事情转手给B局人来

Alinachanchan的博客 6744

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

HttpServlet请求转发与重定向

请求转发与重定向简介请求转发重定向请求转发与重定向的实现请求转发的实现第一种方式第二种方式forward和include的区别重定向的实现重定向中中文乱码解决重定向实现域属性请求转发重定向区别选择 请求转发与重定向简介 请求转发 请求转发是直接将请求转发到另一个资源,浏览器一次请求,得到一次响应 重定向 重定向是请求响应后再对请求重定向一次,多次请求多次响应 请求转发与重定向的实现 请求转发的实现 实现一个HttpServlet的继承类来作为转发目标: package servlet; import .

qq_36976201的博客 789

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

上一篇: Java下的Cookie和Session
下一篇: NW配置
sunbufu
博客等级 码龄11年 17粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值