采用<JSP:FORWORD>
該方法是利用服務(wù)器端先將數(shù)據(jù)輸出到緩沖區(qū)的機(jī)制,在把緩沖區(qū)的內(nèi)容發(fā)送到客戶端之前,原來的不發(fā)送,改為發(fā)送該頁面的內(nèi)容,如果在<JSP:
FORWORD>之前有很多輸出,前面的輸出已使緩沖區(qū)滿,將自動(dòng)輸出到客戶端,那么該語句將不起作用,這一點(diǎn)應(yīng)該特別注意.
如下面的例子中(1)會(huì)輸出index.html的內(nèi)容,2
不會(huì)輸出index.html的內(nèi)容,而是輸出out.println("@@@@@@@@@@@@@@@@@");
中的內(nèi)容,并且在服務(wù)端會(huì)拋出:java.lang.IllegalStateException: Response already
committed 異常,但客戶端沒有任何錯(cuò)誤輸出。
(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("@@@@@@@@@@@@@@@@@");
}
%>?