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


问题内容

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>

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

我们似乎只在响应中得到file1。

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


问题答案:

在我们的案例中,问题出在该应用程序使用了mvc:resource实用程序来处理静态文件的版本控制。正如Bosho指出的那样,mvc:resource实用程序的后端无法正确响应多个文件,从查看源代码中我也知道。