Ресурсы Spring WebContent - доступ вне ServletContext - PullRequest
1 голос
/ 28 февраля 2010

У меня есть приложение Spring Web MVC, которое я хочу обслуживать большой, частично сгенерированный файл.

Я добавил этот файл в свой каталог WebContent, и там все отлично работает. Однако я также хотел бы получить доступ к этому файлу из моих различных сценариев сборки / развертывания, которые читают и анализируют файл.

Мой текущий подход заключается в том, чтобы хранить копию файла в каталоге src, а также в каталоге WebContent. При обслуживании файла из Интернета он использует WebContent.

При обслуживании файла для сценариев сборки используется следующая весенняя конфигурация:

  <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 для потоковой передачи файла из каталога classpath.

1 Ответ

1 голос
/ 01 марта 2010

Ваша лучшая ставка, скорее всего, помещает ее в /WEB-INF/classes (или, если вы используете IDE, просто в папку src / source проекта) и используйте <jsp:include> для ее включения.

<jsp:include page="/WEB-INF/classes/resources/rules_copy.xml" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...