重定向和转发的区别及应用_重定向是什么意思

重定向和转发的区别及应用_重定向是什么意思请求转发:客户首先发送一个请求到服务器端,服务器端发现匹配的servlet,并指定它去执行,当这个servlet执行完之后,它要调用getRequestDispacther()方法,把请求转发给指定的student_list.jsp,整个流程都是在服务器端完成的,而且是在同一个请求里面完成的,因此servlet和jsp共享的是同一个request,在servlet里面放的所有东西,在stude…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

请求转发:

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

 

重定向:

客户发送一个请求到服务器,服务器匹配servlet,servlet处理完之后调用了sendRedirect()方法,立即向客户端返回这个响应,响应行告诉客户端你必须要再发送一个请求,去访问student_list.jsp,紧接着客户端收到这个请求后,立刻发出一个新的请求,去请求student_list.jsp,这里两个请求互不干扰,相互独立,在前面request里面setAttribute()的任何东西,在后面的request里面都获得不了。可见,在sendRedirect()里面是两个请求,两个响应。(服务器向浏览器发送一个302状态码以及一个location消息头,浏览器收到请求后会向再次根据重定向地址发出请求)

请求转发:request.getRequestDispatcher(“/test.jsp”).forword(request,response);

重定向:res

区别:

1、请求次数:重定向是浏览器向服务器发送一个请求并收到响应后再次向一个新地址发出请求,转发是服务器收到请求后为了完成响应跳转到一个新的地址;重定向至少请求两次,转发请求一次;

2、地址栏不同:重定向地址栏会发生变化,转发地址栏不会发生变化;

3、是否共享数据:重定向两次请求不共享数据,转发一次请求共享数据(在request级别使用信息共享,使用重定向必然出错);

4、跳转限制:重定向可以跳转到任意URL,转发只能跳转本站点资源;

5、发生行为不同:重定向是客户端行为,转发是服务器端行为;

使用:

1、可以利用request的域对象的特点,由源组件向其中存放写数据;
2、可以让用户访问到存放在WEB-INF目录中的目标资源;
3、重定向的速度比转发慢,因为浏览器还得发出一个新的请求,所以如果在使用转发和重定向都无所谓的时候建议使用转发;
4、因为转发只能访问当前WEB的应用程序,所以不同WEB应用程序之间的访问,特别是要访问到另外一个WEB站点上的资源的情况,这个时候就只能使用重定向了。

ponse.sendRedirect(“/test.jsp”)

 

转载自:https://www.cnblogs.com/kingofjava/p/10761679.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/195895.html原文链接:https://javaforall.net

(0)
上一篇 2025年10月8日 下午12:15
下一篇 2025年10月8日 下午12:43


相关推荐

  • Windows 强制删除文件及文件夹命令「建议收藏」

    Windows 强制删除文件及文件夹命令「建议收藏」一、删除文件或目录CMD命令rd/s/q盘符:\某个文件夹  (强制删除文件文件夹和文件夹内所有文件)del/f/s/q盘符:\文件名  (强制删除文件,文件名必须加文件后缀名)二、删除文件或目录BAT命令1、新建.BAT批处理文件输入如下命令,然后将要删除的文件拖放到批处理文件图标上即可删除。DEL/F/A/Q RD/S/Q …

    2022年6月1日
    50
  • 双拼输入法快速入门

    双拼输入法快速入门转自少数派https://sspai.com/post/32809,作者@大唐废猫本文适合并仅适合以下人群观看:喜爱折腾熟练使用盲打对汉语拼音有敏感度对于输入速度有要求愿意慢慢看完这一大篇文章并坚持痛苦使用为什么要批判全拼输入?自从计算机发明之后,如何利用QWERTY键盘输入汉字便成为一大难题,在历经五笔、注音、双拼、手写等各类输入角逐后,全拼…

    2022年6月18日
    51
  • 文心一言:AI人工智能领域的智能工业自动化

    文心一言:AI人工智能领域的智能工业自动化

    2026年3月12日
    1
  • Canvas之translate、scale、rotate、skew方法讲解!「建议收藏」

    Canvas之translate、scale、rotate、skew方法讲解!「建议收藏」前面说Canvas大致可以分为三类:1.save、restore等与层的保存和回滚相关的方法;2.scale、rotate、clipXXX等对画布进行操作的方法;3.drawXXX等一系列绘画相关的方法;前面主要讲了drawBitmap方法,并举了一个星球浮动的栗子,在那个例子中,星球有大有小,需要移动,有时候可能需求上还需要旋转或错切,有了这些需求,我们就需要使用到与Canvas相关的translate、scale、rotate、skew这几个方法,平移、缩放、旋转、错切,这四个词听起

    2025年8月6日
    5
  • Batch Normalization批量归一化[通俗易懂]

    Batch Normalization批量归一化[通俗易懂]深度学习捷报连连、声名鹊起,随机梯度下降成了训练深度网络的主流方法。尽管随机梯度下降法对于训练深度网络简单高效,但是它有个毛病,就是需要我们人为的去选择参数,比如学习率、参数初始化、权重衰减系数、Dropout比例等。这些参数的选择对训练结果至关重要,以至于我们很多时间都浪费在这些的调参上。那么学完这篇文献之后,你可以不需要那么刻意的慢慢调整参数。批量标准化一般用在非线性…

    2022年8月31日
    13
  • pychram安装教程

    pychram安装教程前言Pycharm社区版其实基本也够用的,但是,但是,还是想装专业版呢。一、安装pycharm1.下载安装包先去官网下载好安装包,我们这里用Windown环境的普通版就够用了https://www.jetbrains.com/pycharm/download/#section=windows2.安装后面就是一路next,跟装个QQ一样安装完成后,选择稍后重启电脑,然后去桌面打开pycharm…

    2022年8月27日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号