如果HTTP客戶端關閉連線Servlet怎麼得到通知?

everlove發表於2003-05-23
我指的是 *資料傳輸過程中* HTTP連線被客戶端關閉。下面是我以前在tomcat-user@jak
arta.apache.org上的問題原文:

I notice that the following jsp is still running when the client terminates
his web browser:

<%
for(int i=0;i<100;i++){
try{
Thread.currentThread().sleep(2000);
System.out.println((i+1)+": Hello");
for(int j=0;j<1000;j++)
out.println("hello");

}
catch(Exception e){
System.out.println("Exception");
e.printStackTrace();
}
}
%>

So althougth the jsp/servlet can no more write any data to the
browser(which is terminated by the client),the jsp/servlet can still write
the the jsp output stream "out" without any exception thrown by the
"println" method,and the jsp/servlet is blind to the fact that it can no
more really write any thing to the client(the client can no more receive
the data),it keeps running util it finishes the "for" cycles,just as
nothing happens.

But I want to be notified when the HTTP connection is close by the web
client.How can I do that?

望各位大牛解答,感激不盡。

相關文章