1、Forward为转发、Redirect是重定向。
2、对于调用的API:Forward方法是在request.getDispatcherServlet().forward()方法来调用的,而redirect方法是直接使用response.redirect()来调用的。
3、对于浏览器URL地址:Forward:是服务器内部的重定向,服务器内部请求某个Servlet,然后获取响应内容,浏览器的URL地址不会发生变化;Redirect是客户端请求服务器,然后服务器给客户端返回一个302状态码和新的location,客户端重新发起Http请求,服务器给客户端响应location对应的URL地址,浏览器的URL地址发生了变化。
4、对于数据共享:Forward是服务器内部的重定向,request在整个重定向过程中是不变的,request中的信息在servlet间是共享的。Redirect发起两次Http请求分别使用不同的request。
5、请求的次数:Forward只有一次请求,Redirect有两次请求。
重定向的解释:当客户端请求一个网址的时候,Web服务器会将当前请求重定向到另一个网址。搜索引擎会自动抓取重定向后网页的内容并且将旧的网址替换为重定向后的重定向后的网址。