重定向和转发的区别?

重定向和转发的区别?请求转发 客户首先发送一个请求到服务器端 服务器端发现匹配的 servlet 并指定它去执行 当这个 servlet 执行完之后 它要调用 getRequestDi 方法 把请求转发给指定的 student list jsp 整个流程都是在服务器端完成的 而且是在同一个请求里面完成的 因此 servlet 和 jsp 共享的是同一个 request 在 servlet 里面放的所有东西 在 stude

请求转发:

客户首先发送一个请求到服务器端,服务器端发现匹配的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、发生行为不同:重定向是客户端行为,转发是服务器端行为;

使用:

ponse.sendRedirect(“/test.jsp”)

 

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

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

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

(0)
上一篇 2026年3月18日 下午7:18
下一篇 2026年3月18日 下午7:19


相关推荐

  • 一级倒立摆装置_智能控制倒立摆

    一级倒立摆装置_智能控制倒立摆一级倒立摆装置

    2022年8月18日
    9
  • jquery教程详解免费_jquery前端开发实战教程

    jquery教程详解免费_jquery前端开发实战教程jquery核心:writelessdomore1.jQuery语法基础语法:$(selector).action();2.文档就绪事件:文档完全加载完后执行函数第一种方式:$

    2022年8月1日
    8
  • python安装pygame教程_pygame 安装教程

    python安装pygame教程_pygame 安装教程步骤 1 去官网下载 PyGame 注意 要下载对应版本的包其中 如果 python 为以下版本 cp36 就是 python3 6 的意思 2 exe 文件直接安装 whl 文件启动 doc 命令安装 在文件所在位置打开 doc 界面 win10 直接在当前文件夹空白处按住 shift 右键打开 powershell 窗口 输入以下指令安装 pipinstallpy 1 9 3 cp36 cp36m

    2026年3月19日
    2
  • html怎么让背景图片自适应屏幕大小_css背景图片拉伸填充

    html怎么让背景图片自适应屏幕大小_css背景图片拉伸填充html如何让背景图片充满全图,就是拉伸html语言背景图片拉伸代码:background-size:cover,可以使图片拉伸铺满背景。拓展资料背景(background)属性定义元素的背景效果元素的背景区包括前景之下直到边框边界的所有空间。因此,内容框与内边距都是元素背景的一部分。取值:repeat、no-repeat、repeat-x、repeat-y。repeat:默…

    2022年10月5日
    3
  • ⭐️UI自动化控制微信发送或转发图片消息✨

    ⭐️UI自动化控制微信发送或转发图片消息✨在前面《UI自动化轻松解决微信手工群发消息的烦恼》一文中,我演示了如果使用python发送文本消息。前段时间有群友询问:虽然之前觉得太简单懒得做,但今天周末又想起这个问题,考虑到很多网友不知道如何实现,所以我今天再简单演示一下。uiautomation控制微信发送图片????其实原理非常简单,之前无非是将需要发送的文本复制到剪切板再粘贴,那么其实对于图片也一样,我们只需要将需要发送的图片放入剪切板即可,其他地方逻辑都一样。那么如何将图片放入剪切板呢?uiautomation已经提供了SetCli

    2022年7月11日
    31
  • 拉普拉斯分布

    拉普拉斯分布如果随机变量的概率密度函数分布如下图所示 那么它就是拉普拉斯分布 记为 x Laplace 其中 是位置参数 是尺度参数 如果 0 那么 正半部分恰好是尺度为 1 或者 看具体指数分布的尺度参数形式 的指数分布的一半 1 定

    2026年3月20日
    2

发表回复

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

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