jsp的转发和重定向的区别

xiaoxiao2021-02-27  392

转发:forward   重定向:redirect

顾名思义,forward是服务器内部重定向,客户浏览器发送http请求后,web服务器收到请求后进行请求处理和转发,最后发送给客户浏览器,客户端并不知道服务器发送的内容是从哪里来的,所以地址栏还是原来的地址;forward后,地址栏的url不会改变,客户浏览器实际只进行了一次访问请求。

redirect则是服务器收到请求后发送一个状态头给客户,客户将再请求一次,这里多了两次网络通信的来往。Redirect后,是开始了一个新的Http请求,因此地址栏是redirect后的地址。当然forward也有缺点,就是forward的页面的路径如果是相对路径就会有些问题了。

共同点: 都实现了根据自己的条件实现的页面的跳转。 区别:      1.类别    2.概念    3.共享数据    4.应用  I.Redirect  II.URL重新定向:可以是任意的URL  III.不能共享request、session里面的数据  IV.一般用于用户注销登录时返回主页面和跳转到其它的网站等等 I.Forward  II.页面的转发:只能是同一个Web应用程序的其他Web组件  III.转发页面和转发到的页面可以共性request、session里面的数据  IV.一般用于用户登录的时候根据角色转发到相应的模块等等 

转载请注明原文地址: https://www.6miu.com/read-1967.html

最新回复(0)