`
stchou
  • 浏览: 203208 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Include、Forward和sendRedirct的区别

阅读更多
1,sendRedirect
写法:response.sendRedirect();
服务器根据逻辑,发送一个状态码,告诉浏览器重新去请求事先访问过的那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取,request.setAttribute的内容没有了
2,include
会同时包含本页面和include页面的内容,地址栏不变。
 request.setAttribute的内容可以正常使用。
servlet写法:request.getRequestDispatcher( "jsp2.jsp" ).include(request,   response);  
jsp写法:<jsp:include  page= "include.jsp" />

3,forward
页面会是forward的页面的内容,地址栏不变
request.setAttribute的内容,可以正常使用
servlet写法:request.getRequestDispatcher( "jsp2.jsp" ).forward (request,   response);
jsp写法<jsp:forward  page= "include.jsp" />



三者在servlet中的最大区别是:

Include和Forward:将当前请求转到另外一个JSP或者servlet处理。

sendRedirct:将当前请求返回到浏览器,带上要redirect的URL,浏览器重新发一个新的请求到新的URL。

include和forward的区别:

include 是去而复返,forward 是前不见古人,后不见来者。

include 是把别人包含进来,forward 是丢掉了自己。

include是把另一个servlet/jsp处理过后的内容拿过来与本身的servlet的内容一同输出. 

 

 


 

5
3
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics