采用<JSP:FORWORD>
該方法是利用服務器端先將數據輸出到緩沖區的機制,在把緩沖區的內容發送到客戶端之前,原來的不發送,改為發送該頁面的內容,如果在<JSP:
FORWORD>之前有很多輸出,前面的輸出已使緩沖區滿,將自動輸出到客戶端,那么該語句將不起作用,這一點應該特別注意.
如下面的例子中(1)會輸出index.html的內容,2
不會輸出index.html的內容,而是輸出out.println("@@@@@@@@@@@@@@@@@");
中的內容,并且在服務端會拋出:java.lang.IllegalStateException: Response already
committed 異常,但客戶端沒有任何錯誤輸出。
(1)
<%@page?buffer="1kb"%>
?
<%
long?i=0;
?
for(i=0;i<10;i++)
{
???????out.println("@@@@@@@@@@@@@@@@@");
}
%>
?
<jsp:forward?page="./index.html"?/>?
?
(2)
<%@page?buffer="1kb"%>
?
<%
long?i=0;
?
for(i=0;i<600;i++)
{?????????????????
???????out.println("@@@@@@@@@@@@@@@@@");
}
%>?