Как получить фактический путь к исходному файлу веб-ресурса в Java? - PullRequest
0 голосов
/ 07 февраля 2011

Я разработал Java-приложение, которое на самом деле хранится на диске d. Я импортировал это приложение в затмение, которое хранится на диске C.В моем приложении есть одна папка с именем «Изображение».Поэтому, когда я ищу реальный путь к папке с изображениями через Servlet-context или запрос и т. Д., Он дает мне путь к C: \ eclipse \ spring-insight-instance \ wtpwebapps \ EAPortal \ images

Но я хочуполучить фактический путь к этой папке с изображениями. Означает путь к изображениям на диске D.Как мне получить его?

Заранее спасибо, Тушар Додиа

1 Ответ

1 голос
/ 07 февраля 2011

Я не верю, что есть способ сделать это. Ваш контейнер веб-приложений ничего не знает об Eclipse и о том, как он публикует веб-приложения. В любом случае, вы не должны пытаться сделать это. Использование метода getRealPath () чаще всего является неправильным способом решения проблемы. В большинстве случаев к моменту развертывания приложения в рабочей среде реального пути не существует, поскольку приложение содержится в файле .war.

  1. Если изображения являются статическими ресурсами, вы должны использовать метод ServletContext.getResourceAsStream для чтения этих изображений.

  2. Если папка с изображениями - это место, где ваше приложение читает и пишет, то оно не должно содержаться в вашем приложении. Отделите его от логики приложения, а затем укажите местоположение каталога данных для своего приложения, используя системное свойство Java или переменную среды. Ваш конкретный контейнер веб-приложения может иметь другие параметры для передачи параметров в веб-приложение.

...