2009-10-12 3 views
19

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

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

мне нужно знать, как настроить Tomcat так что, если я доступ URL HTTP: //.com/images/abc.jpg, он служит изображение из каталога C:/тест/изображения

Спасибо,

ответ

31

< Добавить Context> тег в server.xml, внутри < хоста> тэгом:

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

Docs будет доступен в http://localhost:8080/images

+0

Это не работает ... Можете ли вы быть более конкретным ?? Я не могу получить доступ через этот трюк. Я использую Liferay –

+0

Я не знаю liferay. Это основано на tomcat? –

+0

Да, он основан на Tomcat. Я использую версию Liferay 6.2.0 м2, которая использовала tomcat 7. По моим сведениям, это тот же обычный сценарий, связанный с tomcat. Помогите мне пожалуйста –

3

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

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

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

Моя текущая директория является кот:

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

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

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 будет загрузить изображение.

+0

Как получить доступ к сервлетам и файлу jsp. Это меняет контекст по умолчанию –

+0

Это работает, но как я могу обеспечить безопасность для доступа к ресурсу – Viswa

+0

Perfecto .................... однако в моем случае путь был temp1 insted of temp0 – nobalG

1

в 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> 
Смежные вопросы