问题
转发和重定向的区别是什么?
回答
- forward()转发
这个方法实时容器中控制权的转向,在客户端浏览器地址不会显示出转向后的地址。
是由RequsetDispatcher类中的方法,通过HttpRequset类的对象可以获得一个Disoatcher。 - sendRedirect()重定向
这个方法是完全的跳转,浏览器会讲得到的地址重新发送请求连接,从浏览器的地址栏可以看到跳转后的链接地址。
HttpResponse中直接封装了sendRedirect()重定向的方法,直接调用。
实际上,转发面向的是当前服务器内部的资源,而重定向可以面向整个网络资源。因此会由效率和地址请求的说法,画图简单说明