Spring WebContent Resources - 在ServletContext外部访问

时间:2010-02-28 02:26:51

标签: java spring spring-mvc servlets

我有一个Spring Web MVC应用程序,我想提供一个大型的,部分生成的文件。

我已将该文件添加到我的WebContent目录中,并且一切正常。但是,我还想从我的各种构建/部署脚本访问该文件,该脚本读取并解析文件。

我目前的方法是在src目录下保留文件的副本以及WebContent目录。从Web提供文件时,它使用WebContent。

为构建脚本提供文件时,它使用以下spring配置:

  <bean id="ringCodeData" class="com.myapp.data.RingCodeData">
     <property name="rulesInputFile" value="classpath:resources/rules_copy.xml" />
     <!-- <property name="rulesInputFile" value="classpath:../WebContent/rules.xml" />    -->
     <!-- <property name="rulesInputFile" value="file:/WebContent/rules.xml" /> -->
  </bean>

正如你所看到的,我尝试了几种不同的方法让两者引用同一个文件(不需要复制)。

文件路径似乎不起作用,因为它们基于当前目录,该目录根据我是从Eclipse调用给定的实用程序类还是从构建脚本调用来更改。

如何让这些文件引用同一个文件?

我目前唯一的另一个想法是尝试设置Spring MVC来从类路径目录中流式传输文件。

1 个答案:

答案 0 :(得分:1)

您最好的选择是将其置于/WEB-INF/classes(或者,如果您使用的是IDE,只是项目的src /源文件夹)并使用<jsp:include>将其包含在内。

<jsp:include page="/WEB-INF/classes/resources/rules_copy.xml" />