Подтвердить что ты не робот

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

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

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

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

Спасибо,

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

Если вы используете 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 внутри тега хоста:

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

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

Ответ 3

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