Tuve este problema en Tomcat 7 y la razón fue que tenía antiResourceLocking establecido en verdadero (parecía una buena idea ...).
De acuerdo con los documentos ( http://tomcat.apache.org/tomcat-7.0-doc/config/context.html ):
Tenga en cuenta que establecer esto en verdadero tiene algunos efectos secundarios, incluida la desactivación de la recarga de JSP en un servidor en ejecución: consulte Bugzilla 37668.
En mi caso, incluso provocó el almacenamiento en caché de archivos de texto estático.
Entonces, en resumen, al menos para un desarrollo rápido tuve que usar:
antiResourceLocking="false"
cachingAllowed="false"