MDA/MDD/TDD/DDD/DDDDDDD
          posts - 536, comments - 111, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          sendRedirect,include,forward的區別

          Posted on 2008-10-31 15:10 leekiang 閱讀(664) 評論(0)  編輯  收藏 所屬分類: jsp,servlet
          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"/>

          以上內容主要來自
          圖解sendRedirect,include,forward的區別
          該文有形象的示意圖,值得一看。

          4,
          <%@ include file="/bookshelf.jsp" %>和<jsp:include page="bookshelf.jsp" flush="true" />
          是有區別的。前者主要用于靜態內容,后者主要用于動態內容(flush='true'必加?)。
          ?如果要傳遞參數,只能利用后者的<jsp:param name="" value=""/>標記,不能直接放在url后面。
          參考:JSP 最佳實踐: 用 jsp:include 控制動態內容
          <%@ page language="java" contentType="text/html" %>
          <html>
          <body>
          <jsp:include page="header.jsp" flush="true">
          <jsp:param name="pageTitle" value="newInstance.com"/>
          <jsp:param name="pageSlogan" value=" " />
          </jsp:include>
          <%@ include file="/navigation.jsp" %>
          <jsp:include page="bookshelf.jsp" flush="true" />
          <jsp:include page="/mt-blogs/index.jsp" flush="true" />
          <%@ include file="/footer.jsp" %>
          </body>
          </html>


          主站蜘蛛池模板: 嘉定区| 临朐县| 延川县| 保德县| 加查县| 桐柏县| 通道| 壤塘县| 阿瓦提县| 漳州市| 宝兴县| 邢台市| 育儿| 大港区| 枣强县| 乌鲁木齐县| 全南县| 海安县| 永昌县| 荣昌县| 团风县| 台北市| 新宁县| 娱乐| 将乐县| 墨玉县| 温州市| 云南省| 乌拉特前旗| 镇雄县| 承德市| 临安市| 孝昌县| 黎城县| 延吉市| 延寿县| 宁波市| 镶黄旗| 五寨县| 崇礼县| 沙湾县|