forward和redirect的区别

2025-03-20 15:09:18
推荐回答(1个)
回答1:

forward是服务器内部重定向,程序收到请求后重新定向到另一个程序,客户机并不知道;redirect则是服务器收到请求后发送一个状态码给客 户,客户将再请求一次,这里多了两次网络通信的来往。
redirect是完全的跳转,浏览器将会得到跳转的地址, 并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址;
forward是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址,他是不会改变Request的值;
所以,forward更加高效,在forward可以满足需要时,尽量使用Request Dispatcher.forward()方法,并且,这样也有助于隐藏实际的链接。