重定向与请求转发
重定向与请求转发
重定向
1.httpServletResponse对象的sendRedirect(String location)方法称作重定向。如果location地址前面加上“/”,则表示相对于Servlet容器的根来请求,即http://localhost:8080,如果location地址前面没有加上“/”,则表示相对于当前请求的URL来寻求地址。
2.重定向的过程中实际上有两个请求发出。
请求转发
1.RequestDispatcher的forward(request,response)方法称做请求转发。
2.请求转发的过程始终在同一个请求下
两者区别的分析
1.RequestDispatcher是通过调用HttpServletRequest对象的getRequestDispatcher()方法得到的,是属于请对对象的方法。sendRedirect()是HttpServletResponse对象的方法,即相应对象的发发,既然调用了响应对象的方法,那就表明整个请求过程已经结束了,服务器开始向客户端返回执行的结果。
2.使用firebug是观察到两者的请求个数不同。