風之力

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            19 Posts :: 2 Stories :: 18 Comments :: 0 Trackbacks
          1.sendRedirect時,服務器端先響應客戶端一個狀態碼(通常是302),告訴客戶端應該向location報頭指定的URL(可以是相對路徑)重新發送請求。然后客戶端按照指示進行第二次請求;
          2.forward時,操作完全在服務器端進行,由服務器直接執行新的URL。客戶端甚至毫不知情。
          3.由于sendRedirect是由客戶端自動請求的,所以客戶的第一次的請求數據就不能得到保存;相反,在forward的情況,客戶第一次的請求數據得到了保存,即在新的URL里能夠得到原先的請求數據。
          4.在相同的情況下,由于sendRedirect相當于客戶的兩次請求,所以forward的效率較sendRedirect要好。
          5.sendRedirect()一定要在response對象,別的語言的頭域輸出沒有輸出正文時才能使用,因為按W3C標準,頭域在在輸出后是不許改變狀態的,只有JSP和SERVLET可以改變它,而一但有正文輸出,就會產生BUFFER阻塞.

          比如\r
          <%
          out.println("sss");
          response.sendRedirect("url");
          %>
          這是錯誤的.或者在此之前有HTML
          <HTMLMWPW>
          <%
          response.sendRedirect("url");
          %>
          這了是錯誤的,因為HTML內容也是out對象輸出的,response對象已經被占用.這時應該用forward()才對.
          posted on 2006-09-17 15:06 風之力 閱讀(768) 評論(0)  編輯  收藏 所屬分類: java
          主站蜘蛛池模板: 巨野县| 凭祥市| 定襄县| 绍兴市| 观塘区| 米易县| 互助| 甘南县| 梅州市| 迁西县| 阜南县| 余江县| 石台县| 奉贤区| 榆社县| 吉水县| 宁城县| 朝阳市| 额尔古纳市| 长丰县| 海伦市| 黄大仙区| 梁河县| 芜湖县| 鲁甸县| 四会市| 莱阳市| 南和县| 台山市| 鹿泉市| 禹城市| 应用必备| 射阳县| 南华县| 新河县| 陵川县| 宿迁市| 金华市| 兴国县| 灌南县| 锡林郭勒盟|