Если юзер нажал Cancel download

Written by elwood

В сервлете будет выброшено исключение org.apache.catalina.connector.ClientAbortException (при вызове ServletOutputStream.write(); )
Чтобы в лог не капали мусорные сообщения об этих исключениях:

} catch (org.apache.catalina.connector.ClientAbortException e) {
    // do nothing - client has cancelled the download
}

Либа, содержащая класс ClientAbortException – либо томкатовская catalina, либо джейбоссовский jbossweb.jar (в который эмбеддится каталина).
Судя по факу http://www.jboss.org/jbossweb/faq.html, в jbossweb используется tomcat версии 6.0.13+
Так как нам в этом случае совпадение версий некритично, мы можем использовать 6.0.13 (или jbossweb.jar в качестве compile-time-lib, если используется ant).

Мейвеновские координаты каталины:

<!-- JBoss Web is based on Tomcat 6.0.13 -->
<!-- this dependency is only to catch org.apache.catalina.connector.ClientAbortException in file download servlets -->
<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>catalina</artifactId>
    <version>6.0.13</version>
    <scope>provided</scope>
</dependency>