Java教程

转发重定向

本文主要是介绍转发重定向,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

目录
  • 转发和重定向
    • 1. 转发
    • 2. 重定向
    • 3. 转发和重定向的区别
      • Demo

转发和重定向

1. 转发

客户端通过URL(1)发送请求到服务器,由服务器发送请求到其他URL(2),由其他服务器响应数据给客户端

2. 重定向

  1. 客户端第一次通过URL(1)发送请求到URL(1服务器,URL(1)服务器第一次响应给客户端URL(2);

  2. 客户端第二次通过URL(2)发送请求到URL(2)服务器,URL(2)服务器第二次响应给客户端数据。

3. 转发和重定向的区别

  • 转发在服务器端完成的;重定向是在客户端完成的
  • 转发的速度快,重定向的速度慢
  • 转发的是同一次请求;重定向是两次不同的请求
  • 转发地址栏没有变化;重定向地址栏发生变化
  • 转发可以携带参数,重定向不能携带参数(Request的属性)
// 转发
req.getRequestDispatcher("loginSuccess.html").forward(req, resp);
// 重定向
resp.sendRedirect("loginSuccess.html");

Demo

其实对于浏览器地址栏发生变化也是针对于返回某个页面来说,我不太熟悉前端,但是这里应该指的是jsp。我用vue的axios写了一个前端,在服务器中重定向到另一个servlet,这里地址栏并没有发生改变。

image-20210907005010661

并且转发时是通过response设置转发URL,request上面设置什么属性也是获取不到的

这篇关于转发重定向的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!