forward与sendRedirect的区别

RequestDispatcher的forward方法(JSP中为"jsp:forward"指令)与HttpResponse的sendRedirect方法的区别

forward行为的汇总:
控制的转移完全在服务器上进行,不涉及任何网络数据流。
用户不会看到目的页面(一般为JSP页面)的地址,而且,我们还可以将页面放在WEB-INF中,防止用户不经过建立数据的servlet,直接访问这些页面。如果JSP页面只在由servlet生成的数据的上下文中才有意义,则应该这样做。

sendRedirect的汇总:
控制的转移通过向客户发送302状态代码和Location响应报头来完成。转移需要另外的网络返回。
用户能够看到目的页面的地址,并可以记下来,独立地访问。如果将JSP设计为数据缺失时使用默认值,这种方式比较合适。

 

你可能感兴趣的:(Web,jsp,servlet)