Request请求转发与Respones请求重定向有什么区别?
创始人
2024-03-09 16:46:55
0

目录:

1.Request请求转发

2.Respones请求重定向

3.关于转发和重定向的路径问题


 


1.Request请求转发

请求转发(forward)一种在服务器内部的资源跳转方式。

 (1)浏览器发送请求给服务器,服务器中对应的资源A接收到请求

 (2)资源A处理完请求后将请求发给资源B

 (3)资源B处理完后将结果响应给浏览器

 (4)请求从资源A到资源B的过程就叫请求转发

请求转发的实现方式:

req.getRequestDispatcher("资源B路径").forward(request,response);

请求转发可以在多个资源间共享数据:使用Request对象

共享数据的实现方式:

资源A中:

//存储数据

 request.setAttribute("message","hello world");

//请求转发

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

资源B中:

//获取数据

Object message = request.getAttribute("message");

//处理数据

System.out.println(message);

请求转发的特点

浏览器地址栏路径不发生变化;

只能转发到当前服务器的内部资源,不能从一个服务器通过转发访问另一台服务器;

只有一次请求,可以在转发资源间使用request共享数据。


2.Respones请求重定向

Response重定向(redirect)就是一种资源跳转方式。

 (1)浏览器发送请求给服务器,服务器中对应的资源A接收到请求

 (2)资源A现在无法处理该请求,就会给浏览器响应一个302的状态码+location的一个访问资源B的路径

 (3)浏览器接收到响应状态码为302就会重新发送请求到location对应的访问地址去访问资源B

 (4)资源B接收到请求后进行处理并最终给浏览器响应结果,这整个过程就叫重定向

重定向的实现方式:

resp.setStatus(302);resp.setHeader("location","资源B的访问路径")//或者resposne.sendRedirect("资源B的访问路径")

重定向的特点

浏览器地址栏路径发送变化。

当进行重定向访问的时候,由于是由浏览器发送的两次请求,所以地址会发生变化 。

可以重定向到任何位置的资源(服务内容、外部均可),因为第一次响应结果中包含了浏览器下次要跳转的路径,所以这个路径是可以任意位置资源。

有两次请求,不能在多个资源使用request共享数据,因为浏览器发送了两次请求,是两个不同的request对象,就无法通过request对象进行共享数据。



3.关于转发和重定向的路径问题

判断的规则:

浏览器使用:需要加项目访问的具体路径,即绝对路径

服务端使用:不需要加具体路径,即相对路径

对于转发来说,因为是在服务端进行的,所以不需要绝对路径。

对于重定向来说,路径最终是由浏览器来发送请求,就需要添加绝对路径。

延伸:

1.超链接,从浏览器发送,需要加绝对路径

2.表单,从浏览器发送,需要加绝对路径

3.转发,是从服务器内部跳转,不需要加绝对路径

4.重定向,是由浏览器进行跳转,需要加绝对路径

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...