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