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 閱讀(660) 評論(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>


          主站蜘蛛池模板: 大宁县| 双峰县| 咸阳市| 博乐市| 信丰县| 榆林市| 肥西县| 开江县| 南华县| 叙永县| 长沙县| 茌平县| 仁寿县| 连城县| 枞阳县| 太谷县| 南充市| 漳浦县| 澎湖县| 习水县| 平泉县| 田东县| 赤峰市| 卢氏县| 乌兰县| 时尚| 奉化市| 邹平县| 洛南县| 若羌县| 乌审旗| 北宁市| 固镇县| 长汀县| 宝应县| 黄山市| 峨山| 呼图壁县| 托克逊县| 格尔木市| 盈江县|