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

java 转发与重定向_Java 转发和重定向的区别转发是服务器行为,重定向是客户端行为1.转发在服务器端完成的;重定向是在客户端完成的2.转发的速度快;重定向速度慢3.转发的是同一次请求;重定向是两次不同请求4.转发不会执行转发后的代码;重定向会执行重定向之后的代码5.转发地址栏没有变化;重定向地址栏有变化6.转发必须是在同一台服务器下完成;重定向可以在不同的服务器下完成在servlet中调用转发、重定向的语句如下:request.getRequ…

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

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

转发是服务器行为,重定向是客户端行为

1.转发在服务器端完成的;重定向是在客户端完成的

2.转发的速度快;重定向速度慢

3.转发的是同一次请求;重定向是两次不同请求

4.转发不会执行转发后的代码;重定向会执行重定向之后的代码

5.转发地址栏没有变化;重定向地址栏有变化

6.转发必须是在同一台服务器下完成;重定向可以在不同的服务器下完成

在servlet中调用转发、重定向的语句如下:

request.getRequestDispatcher(“index.jsp”).forward(request,

response);//转发到index.jsp

response.sendRedirect(“index.jsp”);//重定向到index.jsp

转发过程:客户浏览器发送http请求,web服务器接受此请求,调用内部的一个方法在容器内部完成请求处理和转发动作,将目标资源发送给客户;在这里,转发的路径必须是同一个web容器下的url,其不能转向到其他的web路径上去,中间传递的是自己的容器内的request。在客户浏览器路径栏显示的仍然是其第一次访问的路径,也就是说客户是感觉不到服务器做了转发的。转发行为是浏览器只做了一次访问请求。

重定向过程:客户浏览器发送http请求,web服务器接受后发送302状态码响应及对应新的location给客户浏览器,客户浏览器发现是302响应,则自动再发送一个新的http请求,请求url是新的location地址,服务器根据此请求寻找资源并发送给客户。在这里location可以重定向到任意URL,既然是浏览器重新发出了请求,则就没有什么request传递的概念了。在客户浏览器路径栏显示的是其重定向的路径,客户可以观察到地址的变化的。重定向行为是浏览器做了至少两次的访问请求的。

重定向,其实是两次request

第一次,客户端request

A,服务器响应,并response回来,告诉浏览器,你应该去B。这个时候IE可以看到地址变了,而且历史的回退按钮也亮了。重定向可以访问自己web应用以外的资源。在重定向的过程中,传输的信息会被丢失。

(来源百度…)

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java db4o,DB4O–java对象数据库[通俗易懂]

    java db4o,DB4O–java对象数据库[通俗易懂]特点直接存储java对象,抛弃对象映射的繁琐可以使用简单的查询语句致命缺点与java语言绑定demogitee地址https://gitee.com/ichiva/db4o-demo.git主要依赖org.fudaa.com.db4odb4o-java55.5.1编写测试用例官方实体类@DatapublicclassCar{privateIntegerid;privateString…

    2022年7月21日
    10
  • 解决kafka无法删除topic问题

    解决kafka无法删除topic问题1.问题描述使用kafka命令删除某个topic之后,查看集群的topic列表时,被删除的tpoic依然存在#/data/kafka/bin/kafka-topics.sh–delete–zookeeperzook_ip–topicsystemTopicsystemismarkedfordeletion.Note:Thiswillhavenoimpactifdelete.topic.enableisnotsettotrue.[外链图片转存失败,

    2022年10月16日
    0
  • matlab循环求和_r语言for循环计算求和

    matlab循环求和_r语言for循环计算求和题目描述编写程序求和S=a+aa+aaa+aaaa+…,其中a是1-9中的一个数字。n为一正整数,a和n均从键盘输入。(例如输入n为4,a为2,S=2+22+222+2222)输入两行整数,分别表示a,n输出一个整数样例输入Copy24样例输出Copy2468程序代码a=input(”);n=input(”);temp=0;sum=0;fori=1:ntemp=temp*10+a;sum

    2022年10月6日
    0
  • VLAN的基本配置_划分不全的例子

    VLAN的基本配置_划分不全的例子1、VLAN基础知识VLAN(VirtualLocalAreaNetwork)的中文名为:“虚拟局域网”,注意和’VPN’(虚拟专用网)进行区分。VLAN是一种将局域网设备从逻辑上划分(不是从物理上划分)成一个个网段,从而实现虚拟工作组的新兴数据交换技术。这一新兴技术主要应用于交换机和路由器中,但主流应用还是在交换机之中。但又不是所有交换机都具有此功能,只有VLAN协议的第三层以上交换机才具有此功能,这一点可以查看相应交换机的说明书即可得知。由于它是从逻辑上划分,而不是从物理上..

    2022年9月19日
    0
  • JS实现前进后退刷新的各种方法

    JS实现前进后退刷新的各种方法这里介绍了JS前进、后台、刷新的各种方法。也解释了很多前进后退函数出问题的原因。下面是用按钮做前进后退的JS:<inputtype=buttonvalue=刷新onclick=”window.location.reload()”/><inputtype=buttonvalue=前进onclick=”window.history.go(1)”/><inputtype=buttonvalue=后退onclick=”window.history.go(-

    2022年7月25日
    7
  • android 扫码二维码_安卓手机二维码扫描器

    android 扫码二维码_安卓手机二维码扫描器最近公司项目App中要集成二维码扫描来适应在户外工作的时候,对码头集装箱等上面贴的A4纸张打印的二维码进行识别,一般App二维码集成后,能扫出来就不管了,但是我们在集成成功后,根据用户反馈,在户外的环境下,很多二维码识别不了,或者识别速度慢,我们自己也是适用了一下,发现也确实是这样. 一般造成这个识别不出来的原因,我们总结了以下几点:A4纸张打印的标签二维码,本来打印就不是特别清晰,…

    2025年7月14日
    0

发表回复

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

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