Ответ 1
Добавьте тег <Context> в server.xml внутри тега <Host> :
<Context path="/images" docBase="C:/test/images/" />
Документы будут доступны в http://localhost:8080/images
Мне нужно сопоставить каталог, содержащий изображения, которые находятся за пределами папки tomapp catappapp, чтобы приложение могло обслуживать эти изображения.
Я делаю веб-приложение J2EE под управлением tomcat 6. Пользователь может загружать/удалять изображения в приложении. Currenly Я храню эти изображения в каталоге в папке приложения WebContent, но хочу взять его за пределы tomcat (например, C:/test/images).
Мне нужно знать, как настроить tomcat, чтобы, если я обращаюсь к URL http://.com/images/abc.jpg, он служит для изображения из каталога C:/test/images
Спасибо,
Добавьте тег <Context> в server.xml внутри тега <Host> :
<Context path="/images" docBase="C:/test/images/" />
Документы будут доступны в http://localhost:8080/images
У меня была такая же проблема, но я нашел решение.
Если вы используете 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
загрузит изображение.
в 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>