在servlet的doGet方法,下面哪几个说法是错误的(多选)
a.redirect到一个jsp页面时,之前doGet 放在request中的对象都会丢失
b.redirect到一个jsp页面时,之前doGet 放在session中的对象都会丢失
c.forward到一个jsp页面时,之前doGet 放在request中的对象都会丢失
d.forward到一个jsp页面时,之前doGet 放在session中的对象都会丢失
请求转发:即Servlet将请求传递给别的Servlet及服务器中其他资源,无需客户端任何行为
与重定向的区别:重定向是让客户端完成,有2次请求,URL地址栏改变;而转发则是服务器完成,只有一次请求,URL地址栏不改变。
如何请求转发:1.获得转发器对象:1.1调用请求对象的getRequestDispatcher(path)方法,path参数为相对于当前Servlet的资源路径
1.2调用ServletContext的getNamedDispatcher(servlet-name)方法
2.调用转发器对象的转发方法:2.1调用forward()方法,将请求和响应对象作参数传入,该方法会将请求完全移交给另一资 源处理,并有另一资源将响应发给客户端
2.2调用include()方法,将请求和响应对象作参数传入,该方法会将请求暂时移交给另一资 源处理,另一资源处理完后在返回原来的Servlet,并有原来的Servlet请响应发给客户端
因此答案是b,c,d