重定向VS请求转发

mac2023-06-10  15

1、请求重定向

Servlet接收到浏览器端请求并处理完成之后,给浏览器一个特殊的响应,这个特殊的响应要求浏览器去请求一个新的资源,整个过程中浏览器会发出两次请求,并且浏览器地址栏会改为新资源的地址。

重定向的情况下,原来servlet和目标资源之间就不能共享请求数据了。

实现重定向的API

2、请求转发

Servlet接收到浏览器请求之后,进行一定的处理,先不进行响应,而是在服务端内部"转发"给其他Servlet程序继续处理。在这种情况下浏览器只发出了一次请求,浏览器地址栏不会发生变化,用户也感知不到请求被转发了。

转发请求的Servlet和目标Servlet共享同一个request对象。

实现转发的API

只能在内部组件间转发,重定向可以重定向到任何地方

3、重定向与转发的区别

最新回复(0)