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>


          主站蜘蛛池模板: 江山市| 上饶市| 唐山市| 靖安县| 开原市| 舞阳县| 鄂伦春自治旗| 静乐县| 永兴县| 虹口区| 文昌市| 嘉义县| 卢湾区| 磴口县| 霍山县| 瓦房店市| 东乌珠穆沁旗| 巴林左旗| 玉龙| 赤水市| 荆州市| 阿巴嘎旗| 改则县| 万州区| 九台市| 景泰县| 丹棱县| 余江县| 斗六市| 平和县| 城固县| 鱼台县| 文安县| 遂宁市| 许昌市| 茶陵县| 广元市| 和顺县| 泗阳县| 盐边县| 扶绥县|