2012-11-27 2 views

답변

0

에 따라 다릅니다.

다시 클라이언트 (res 사용) 응답을 전송하려고 할 것이다 A() (또는 다른 방법) 동안 경우

IOException가 발생 될 것이다. catch되지 않으면 서블릿 실행을 종료합니다.

그렇지 않으면 계산이 수행되어 C() 이후에 종료됩니다.

+1

모든 경우에 실제로는 그렇지 않을 수도 있습니다. 응답은 버퍼링 될 수 있으므로 버퍼가 플러시 될 때만 예외가 발생합니다. 또 다른 가능성은 사이에있는 프록시 서버로 전체 응답이 서버에서 전송 될 때까지 대기 한 다음 클라이언트에 보내려고 시도 할 수 있습니다. – ShyJ

+0

좋은 지적, 모두 유효! – mindas

3

:
특히, 자바 서블릿의 doGet에 다음 코드가있는 경우. 서버는 출력 스트림 (응답)에 sth를 쓰려고 시도 할 때까지 연결 해제에 대해 알지 못합니다. 중간에 프록시 서버가 있거나 출력 스트림 버퍼링으로 인해 클라이언트가 연결 해제되었음을 알기가 어려울 수 있습니다.

관련 문제