【Java】JavaWeb中转发与重定向

在JavaWeb中有两个常用到的知识点,转发和重定向,针对于这两个知识点,在本文中进行介绍。

1、转发

先来介绍一下转发的过程,转发过程相当于AServlet接收到了一个前端的请求,然后由AServlet转给BServlet在进行处理,在这个过程中,
(1)浏览器是不会察觉到的,因此浏览器中的地址也不会有变化;
(2)由于是同一个请求,所以Bservlet与AServlet是公用同一个request;
(3)转发是发生在服务器端。

request.getRequestDispatcher("/hello1").forward(request, response);
// 转发的话不用写出路径的所有内容
2、重定向

前端发送请求给AServlet,如果执行了重定向过程,这个响应告诉浏览器去请求其他的地址,在这一个过程中:
(1)浏览器发送了两次请求,因此不能公用一个request;
(2)执行转发的时候,浏览器中的地址会发生变化;
(3)转发过程发生在浏览器端。

resp.sendRedirect("http://localhost:8886/cc.html");
//需要注明详细的地址url

参考博客:JavaWeb 重定向与请求转发的区别和执行流程(图解分析)

发布了66 篇原创文章 · 获赞 6 · 访问量 9407

猜你喜欢

转载自blog.csdn.net/qgnczmnmn/article/details/103698664