使用Spring ResourceServlet同时提供多个资源

时间:2011-05-18 15:23:06

标签: java spring servlets spring-mvc

ResourceServlet的JavaDoc声明它可以返回资源列表。但这种使用模式的例子似乎很少见。

我们有一个带有以下内容的web.xml:

<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>

当我们按以下方式提出网址请求时: http://localhost:8080/app/combo?resource=js/file1.js;js/file2.js

我们似乎只在响应中获取了file1。

此用例的正确配置是什么?

2 个答案:

答案 0 :(得分:2)

ResourceServlet已被弃用,转而使用<mvc:resources />但是,它不会处理多个资源。你必须让自己的控制器来做到这一点。

对于ResourceServlet,代码中使用的分隔符为,; \t\n - 其中任何一个都应该有效。

答案 1 :(得分:1)

我们案例中的问题是应用程序使用mvc:resource实用程序来处理静态文件的版本控制。 mvc:resource实用程序的后端将不会像Bosho所说的那样正确响应多个文件,而且我也从通知来源了解。