-
2查看全部
-
1查看全部
-
呵呵查看全部
-
人查看全部
-
滾滾滾查看全部
-
的查看全部
-
1 定義 forward():表示在服務器端從一個Servlet中將請求轉發到另一個資源(Servlet、Jsp或Html等),本意是讓第一個組件對請求做些預處理(或者什么都不做),而讓另一組件處理并返回響應。 include():表示在響應中包含另一個資源(Servlet、Jsp或Html等)的響應內容,最終被包含的頁面產生的任何響應都將并入原來的response對象,然后一起輸出到客戶端。 2 關于狀態碼和響應頭 forward():調用者和被調用者設置的狀態碼和響應頭都不會被忽略。 include():被調用者(如被包含的Servlet)不能改變響應消息的狀態碼和響應頭,即會忽略被調用者設置的狀態碼和響應頭。 3 誰負責發回響應 forward():表示轉發,則控制權也同時交給了另一個組件,所以最終由另一組件返回響應。 include():表示包含,則控制權還在自己身上,所以最終還是由自己返回響應。 4 請求轉發后的代碼是否執行? forward():轉發后還會返回主頁面繼續執行,但不可以繼續輸出響應信息。 include():轉發后還會返回主頁面繼續執行,仍然可以繼續輸出響應信息。 5 關于forward(),引用JavaEE文檔中的說明: 必須在響應被提交到客戶端(刷新響應正文輸出到流中)前調用forward(即在調用forward之前必須清空響應緩沖區),否則會拋出IllegalStateException異常。 在forward之前,響應緩沖區中未提交的數據會被自動清除。所以容器將忽略原Servlet所有其他輸出。 6 補充說明:關于Servlet中的輸出緩沖區 在Servlet中使用ServletOutputStream和PrintWriter輸出響應正文時,數據首先被寫入到Servlet引擎提供的一個輸出緩沖區中。直到滿足以下條件之一時,Servlet引擎才會吧緩沖區中的內容真正發送到客戶端。 輸出緩沖區被填滿。 Servlet已經寫入了所有的響應內容。 Servlet調用響應對象的flushBuffer()方法,強制地將緩沖區內的響應正文數據發送到客戶端。 Servlet調用ServletOutputStream或PrintWriter對象的flush()方法或close()方法。 為了確保Servle查看全部
-
web.xml中的version代表servlet版本查看全部
-
在context.xml中配置session的鈍化和活化查看全部
-
鈍化活化的session保存對象必須實現serializable接口查看全部
-
bindinglistener無需在web.xml中注冊,直接繼承接口之后,在javaBean被綁定到session中就會被觸發查看全部
-
將不常使用的session序列化到文件或是數據庫中以減輕內存開銷查看全部
-
對于三種對象屬性修改的監聽器查看全部
-
session創建和銷毀監聽器執行的方法查看全部
-
web.xml的init-param可以設置context初始化參數查看全部
舉報
0/150
提交
取消