- 一个Web资源受到客户端请求后,通知服务器去调用另外一个Web资源进行处理,称之为请求转发。
- 一个Web资源受到客户端请求后,通知浏览器去访问另外一个Web资源,称之为请求重定向。
面试题
请问sendRedirect()和forward()的区别是什么?
答:
(1)叫法sendRedirect()重定向,转发forward()叫转向。
(2)实际发生的文职不一样
sendRedirect 发生在 浏览器
forward 发生 在Web服务器
(3)用法不一样
request.getRequestDispatcher("/资源URI").forward(request, response)
response.sendRedirect("/Web应用/资源URI");
(4)能够去URL范围不一样
sendRedirect可以去 如何URL
forward只能去当前的Web应用的资源
注意:
①什么是一次HTTP请求:
只要没有停止,也没有回到浏览器重定向,就算一次。
②如果转发多次,我们的浏览器地址栏,保留的是第一次转向的那个Servlet Url。