请求转发与重定向比较
简述
1、请求转发是一个请求一次响应,而重定向是多次请求多次响应;
2、请求转发后浏览器地址栏不会有变化,而重定向会有变化,因为重定向是重新从浏览器请求了一个新地址;
3、请求转发只能转发到本项目中的其他资源**,**而重定向不仅能重定向到本项目的其他资源,还能定向到其他项目的资源
4、请求转发是只发生在服务器端行为,只需给出转发的Servle路劲;而重定向需要给出requestURI,即包含项目名,客户端浏览器要根据这个requestURI请求一个服务器端的资源!
5、请求转发对AServlet和BServlet的请求方法是相同的,即要么都是GET,要么都是POST**,因为请求转发是一个请求;**重定向的第二个请求一定是GET;
6、请求转发和重定向的效率请求转发效率高!因为是一个请求!
使用选择
1)需要地址栏发生变化,那么必须使用重定向!
2)需要在下一个Servlet中获取request域中的数据,必须要使用转发!或者说需要在多个servlet中传递参数需要使用转发!