2011-05-18 8 views
6

El JavaDoc para ResourceServlet establece que puede devolver una lista de recursos. Pero los ejemplos de este patrón de uso parecen ser escasos en el mejor de los casos.Uso de Spring ResourceServlet para servir a varios recursos simultáneamente

Tenemos un web.xml con lo siguiente:

<servlet> 
    <servlet-name>Resource</servlet-name> 
    <servlet-class>org.springframework.web.servlet.ResourceServlet</servlet-class> 
    <load-on-startup>1</load-on-startup> 
</servlet> 

<servlet-mapping> 
    <servlet-name>Resource</servlet-name> 
    <url-pattern>/combo</url-pattern> 
</servlet-mapping> 

Cuando hacemos una petición a la URL en la línea de: http://localhost:8080/app/combo?resource=js/file1.js;js/file2.js

Sólo se parecen conseguir archivo1 en la respuesta.

¿Cuál sería una configuración adecuada para este caso de uso?

Respuesta

1

El problema en nuestro caso resultó ser que la aplicación utilizaba la utilidad mvc: resource para gestionar el control de versiones de los archivos estáticos. El backend de la utilidad mvc: resource no responderá correctamente a múltiples archivos como observó Bosho, y yo también lo sabía al mirar la fuente.

2

ResourceServlet ha quedado obsoleto a favor del uso de <mvc:resources /> Sin embargo, no maneja varios recursos. Tendría que hacer su propio controlador para hacer eso.

En cuanto al ResourceServlet, los delimitadores utilizados en el código son ,; \t\n - cualquiera de ellos debería funcionar.

+0

Lo vi y leí el código fuente; si miras el ejemplo anterior, verás que estamos usando un punto y coma como delimitador. Desafortunadamente, solo parece devolver el primer recurso. – Matt

+0

¿podría pasar el código de primavera con un depurador? No veo una razón para fallar – Bozho

Cuestiones relacionadas