Сопоставление каталога вне веб-приложения с URL-адресом в TOMCAT - PullRequest
20 голосов
/ 12 октября 2009

Мне нужно сопоставить каталог, содержащий изображения, который находится вне папки tomcat webapps, чтобы приложение могло обслуживать эти изображения.

Я создаю веб-приложение J2EE под управлением tomcat 6. Пользователь может загружать / удалять изображения в приложении. В настоящее время я храню эти изображения в каталоге в папке WebContent приложения, но хочу вынести его за пределы tomcat (например, C: / test / images).

Мне нужно знать, как настроить tomcat, чтобы при доступе к URL-адресу http: //.com/images/abc.jpg он обслуживал изображение из каталога C: / test / images

Спасибо

Ответы [ 3 ]

33 голосов
/ 12 октября 2009

Добавьте тег в server.xml внутри тега :

<Context path="/images" docBase="C:/test/images/" />

Документы будут доступны на http://localhost:8080/images

5 голосов
/ 30 сентября 2015

У меня была такая же проблема, но я нашел решение.

Если вы используете Eclipse и плагин Tomcat, обратите внимание, что плагин Eclipse Tomcat создает отдельный CATALINA_BASE в каталоге Eclipse workspace.

Вы можете перейти в это место, и вы найдете server.xml. Используйте , что server.xml, и оно будет работать.

Моя настоящая директория tomcat:

C:\apache-tomcat-7.0.62x64\apache-tomcat-7.0.62\conf

и мой сервер Eclipse Tomcat использует:

C:\workspace\JSF\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\conf 

Используйте путь к рабочей области и server.xml из этого местоположения.

Добавьте это в server.xml внутри тега host:

< Context docBase="D:/personal"  path="/images" />

, и он будет работать, если D:/personal имеет 1.png, а затем URL http://localhost:8080/images/1.png загрузит изображение.

3 голосов
/ 09 мая 2017

в Tomcat8 вы также можете добавить PotsResources в ваш META-INF / context.xml следующим образом:

<Context>
    <Resources allowLinking="false">
        <PostResources readOnly="false"
                       className="org.apache.catalina.webresources.DirResourceSet"
                       base="path-to-your-local-folder"
                       webAppMount="/images"/>
    </Resources>

    ...
</Context>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...