La nueva versión de Sprign MVC (a partir de Spring MVC 3.0.4) incluye el tag <mvc:resources
Este tag permite servir las peticiones a URLs que contienen contenido estático (HTML, CSS, JS,…) a través de un Handler de una localización que no tiene que ser la propia aplicación Web.
Por ejemplo con esto:
<mvc:resources mapping="/resources/**" location="http://midominio.es/estatico/, /recursos/, classpath:/META-INF/public-web-resources/"/>
Cuando se haga una petición a /resources/images/logo.png Spring MVC lo buscará por orden en http://midominio.es/estatico/, luego en /recursos/ y luego en el classpath en classpath:/META-INF/public-web-resources/.
Aunque este funcionamiento es interesante puede no servir en muchos casos:
Por ejemplo si en nuestra infraestructura tenemos un Apache y luego un Tomcat y estamos entrando por el Apache la petición al Apache de http://midominio.es/resources/images/logo.png llegará a mi Tomcat y será este el que le pida al Apache el logo.
Para estos casos la única solución es usar el tag spring:url e indicar que el contexto es otro, de esta forma
<spring:url var="/resources/images " context="/estatico/" value="/images" />

Replica a Matias Cancelar la respuesta