2017-01-19 2 views
0

Я работаю над веб-проектом, в котором я создал папку с именем «images» в папке Web Content в eclipse. В этой папке хранятся изображения, загруженные пользователем, и изображения сохраняются с использованием относительного путиОчистка сервера tomcat удаляет все папки по относительному пути

«String webAppPath = request.getServletContext(). GetRealPath ("/images ")".

Но когда дело доходит до очистки TOMCAT сервера по любой причине, все папки или изображения, сохраненные в разделе «картинки» папки стираются ..

Пожалуйста, укажите, есть ли решение, чтобы все изображения или папки не будет удалить.

ответ

0

Две рекомендации:

  1. Не используйте ServletContext.getRealPath. Это алгоритмически ошибочный метод использования. Он действительно должен быть очищен от спецификации сервлета.

  2. Сохраните ваши файлы где-нибудь за пределами вашего каталога развертывания, и они не будут удалены при распаковке.

UPDATE 2017-01-23

Для того, чтобы обслуживать ваши файлы обратно к вам (после их загрузки), вам необходимо отобразить часть вашего URL пространства в приложении. Самый простой способ сделать это с Tomcat 8 и более поздними версиями - с помощью mapper.

<Resources> 
    <PostResources base="/real/path/to/images" 
      className="org.apache.catalina.webresources.DirResourceSet" 
      webAppMount="/images" /> 
</Resources> 

Это заставит DefaultServlet обслуживать файлы из директории /real/path/to/images когда клиент запрашивает что-то в пределах /images URL пространства.

+0

thanku for rply ... теперь я попытался сохранить изображение под g: \ workspace \ Projectname \ images с помощью контекстного пути ... они остались намерены, но я не могу их отобразить в другом jsp ... Я сохранил изображение имя в базу данных (mysql) – Anju

+0

Пожалуйста, предложите мне, как их получить – Anju

+0

thanku..I попробую этот – Anju

Смежные вопросы