请求转发及包含和重定向的区别
请求转发及请求包含【看做
内部的交换】
重定向【看做
外部的交换】
--------------------------------------------------------------------------------------------------------------------------------
请求转发:1请求1响应【1vs1】,而重定向:2请求2响应【2vs2】
请求转发:地址栏不变化,而重定向地址栏会变化:显示后一个请求的地址【不变 vs 变】
【同一个项目vs 可以一个,可以多个项目】
请求转发只能转发到本项目其他Servlet,而重定向不限于该项目:不只能重定向到本项目的其他Servlet,还能定向到其他项目【比如转发到百度去】
注:请求转发是服务器端行为,只需给出转发的Servlet路径,而重定向需要给出requestURI,即包含项目名!【Servlet的url-pattern VS 项目名+Servlet的url-pattern】
请求转发和重定向效率是转发高!因为是1个请求!
若要地址栏发生变化,那么必须使用重定向!【变化:定向】
若要使用request域中的数据,必须要使用转发!【域:转发】