Прямо сейчас я пытаюсь выполнить проект на Eclipse Juno и Tomcat 7, для которого требуется «виртуальная папка» для хранения мультимедийных файлов (например, изображений, других подстраниц и т. д.). У меня уже есть несколько способов указать путь к файлу в синтаксисе на основе URI (скажем, я хочу получить доступ к изображениям в /Content/Image), и я хочу сопоставить этот URI с C:\Users\MyUser\Content\image (я я знаю, что я привязываю проект к системам Windows, но позже в этой проблеме я найду обходной путь).
В настоящее время мой проект называется pj, и Eclipse создал контекст с именем pj внутри экземпляра eclipse tomcat (и это имеет большой смысл). Когда я тестирую свой проект с
> http://localhost:8080/pj
работает нормально (так и должно быть).
Но здесь есть проблема: до сих пор я не нашел способа создать URI в tomcat, чтобы фактически перейти к пути содержимого/изображения, чтобы захватить контент для добавления на мои страницы (прочитал где-то, что нездорово хранить контент в WEB -INF, поэтому я пытаюсь сделать это правильно). Также где-то читал, что для достижения этой цели мне нужно сделать что-то вроде этого в контекстах:
<context docbase="d:/images" path="/Content/Images"></context>
Также прочитайте там, что в tomcat для разрешения URI вы должны использовать контексты для достижения этой цели (предоставляя мост между значением URI и его расположением в файловой системе). Тем не менее, как и в Tomcat 4 (если не ошибаюсь), он не должен возиться с server.xml, поэтому в ДРУГОЙ попытке сделать это правильно я пытаюсь фактически добавить контекст в META-INF внутри context.xml с показанным кодом до. Но есть здесь ДРУГАЯ проблема! Кажется, что добавление тега пути сводит Tomcat с ума, как сказано здесь: http://tomcat.apache.org/tomcat-7.0-doc/config/context.html .
Так что я действительно в затруднительном положении.... Что я хочу спросить:
- Каков наилучший способ добавить внешнюю папку в веб-проект для получения мультимедийного контента и
- Как это должно работать внутри Eclipse?
PS: я спрашиваю об этом, потому что в одном из моих методов внутри моего проекта я использую метод getLoader для возврата InputStream (java.io InputStream NOT Corba), и он возвращает нули (что означает, что он его не находит).
РЕДАКТИРОВАТЬ: Пытался фактически возиться с server.xml, вставив контекст вручную, но не сработал, вставка относительного URI не работает на сервере (локальный: 8080/Content/Image с действительными файлами внутри) или зайдя внутрь моего основной проект и сделать getstream тоже не работает