|
|
|
хранение файлов
|
|||
|---|---|---|---|
|
#18+
продублирую решение - для java8 Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. http://mikusa.blogspot.ru/2014/07/tips-on-migrating-to-tomat-8-resources.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 00:13 |
|
||
|
хранение файлов
|
|||
|---|---|---|---|
|
#18+
а как получить эти значения в коде? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 07:10 |
|
||
|
хранение файлов
|
|||
|---|---|---|---|
|
#18+
вадя, у меня 2 сервера: Основной - здесь генерируются страницы, работа с БД и т.д. Сервер контента - здесь храниться документы, который заливает пользователь. Что бы залить контент основной сервер генерирует ссылку на сервер контента http://servercontent/MyApp/upload?docId=12344&expiredTime=12341234&key=q1234dqwe3214 docId - ИД документа который заливает expiredTime - время (в миллисекундах Date.getTime()) до которого актуальна ссылка (я ставлю +1 день new Date().getTime() + 1000*60*60*24), key - проверочный ключ это Md5 от docId + expiredTime + соль. О соли знают только сервера. сервлет upload проверяет ключ и сохраняет файл в файловую систему в D:\myFiles что бы получить контент основной сервер также генерирует ссылку http://servercontent/MyApp/content/fileName.doc?expiredTime=12341234&key=q1234dqwe3214 смысл параметров такой же как и у загрузки. Сервлета для выгрузки у нас нет, ссылка идет на статический ресурс. Для проверки доступа используется фильтр. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. по ссылке http://servercontent/MyApp/content/fileName.doc сервер будет искать файл в {tomcat_home}\webapp\MyApp\content\filename.doc, хотя файл у нас лежит в D:\myFiles\fileName.doc Для того что бы он искал в D:/myFiles/ нужно в приложение добавить context.xml в webapp/META-INF/context.xml такого содержания Код: xml 1. 2. 3. 4. aliases="/content=D:\myFiles\" - вот эта строчка говорит что при URL по пути /content ( http://servercontent/MyApp/content/* ) искать файлы в D:\myFiles\ я из примеров много что вырезал, поэтому они не совсем валидные. но смысл думаю понятен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 08:24 |
|
||
|
хранение файлов
|
|||
|---|---|---|---|
|
#18+
olzhas, у меня tomcat7, для 8 версии не знаю как настраивать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 08:26 |
|
||
|
хранение файлов
|
|||
|---|---|---|---|
|
#18+
olzhas спасибо, идея понятна, достаточно интересная, "кроссдоменная передача данных" :) как это реализовать на java8 я привел выше. у меня теперь другая проблема - как прочитать инфу из context.xml... чтоб записать файлы в нужное место. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 09:24 |
|
||
|
хранение файлов
|
|||
|---|---|---|---|
|
#18+
вадя, Я не стал заморачиваться на эту тему и храню эту информацию прямо в классе загрузки. Да, не хорошо, работает ну и ладно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 10:11 |
|
||
|
хранение файлов
|
|||
|---|---|---|---|
|
#18+
поднимаю ... кто может помочь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 12:13 |
|
||
|
хранение файлов
|
|||
|---|---|---|---|
|
#18+
вадя, Зачем вам читать что-то из context.xml? Если нужно узнать реальный путь директории, на которую вы ссылаетесь через alias-ы и т.д., то для примера конфигов, что привёл olzhas, достаточно в init() сервлета/фильтра например сделать Код: java 1. Оно вернёт строку "D:\myFiles\". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 12:29 |
|
||
|
хранение файлов
|
|||
|---|---|---|---|
|
#18+
У меня сделано так: создал папку на сервере в корне, которую никто не трогает. Заливаю туда файлы и одновременно пишу в базу название файла, разные другие параметры (в частности уровень доступа к файлу на уровне приложения, типа 1,2,3 уровни доступа), так же прописываю путь. В зависимости от места загрузки файла в приложении, то есть в пользовательском интерфейсе, в путь добавляет что-то типа айдишников того или иного, к чему привязывается файл. То есть, например, клиенту с айди 223 "прикрепляется" файл файл.doc. получаем путь "/папка_в_корне/contractors/223/файл.doc" В базу пишется название, этот путь что выше, ну и уровень доступа пользователя, к примеру, файлы с уровнем 3, не показываются в приложении в интерфейсе пользователю с уровнем доступа 2 и ниже. Ну это так - лирика :) При выборе какого-либо клиента, в другой таблице формируется список доступных файлов на сервере, список берется из базы. Потом выбираем какой-либо пункт в списке файлов и качаем его, путь уже известен. В webapps ничего не кладу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 12:45 |
|
||
|
хранение файлов
|
|||
|---|---|---|---|
|
#18+
А да, если имена файлов совпадают, имя файла меняется, добавляется 1,2,3 и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 12:47 |
|
||
|
хранение файлов
|
|||
|---|---|---|---|
|
#18+
Dim666вадя, Зачем вам читать что-то из context.xml? Если нужно узнать реальный путь директории, на которую вы ссылаетесь через alias-ы и т.д., то для примера конфигов, что привёл olzhas, достаточно в init() сервлета/фильтра например сделать Код: java 1. Оно вернёт строку "D:\myFiles\". то что нужно ! Спасибо! 2Nixic ну для несовпадения имен у меня генерится GUI :) насчет разграничения прав - тут вариантов море. в моём случае это всё нужно чтоб не потереть файлы при деплое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 14:30 |
|
||
|
хранение файлов
|
|||
|---|---|---|---|
|
#18+
теперь вопрос с другой стороны - а как задать реальны путь, ведь в разных осях от разный... не только по содержанию, но и по форме. а если задать оба вида - то приложение просто не диплоится... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 15:16 |
|
||
|
хранение файлов
|
|||
|---|---|---|---|
|
#18+
вадяв моём случае это всё нужно чтоб не потереть файлы при деплое. ты уверен, что все не теряют файлы только по тому, что пишут в корень С: или D:? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 15:37 |
|
||
|
хранение файлов
|
|||
|---|---|---|---|
|
#18+
Petro123вадяв моём случае это всё нужно чтоб не потереть файлы при деплое. ты уверен, что все не теряют файлы только по тому, что пишут в корень С: или D:? не понял фразу... как понял - мне по барабну куда будет писаться,главное чтоб было не в webapps, абсолютные пути можно прописать хоть в web.xml хоть в singleton. проблема счас в том что в окнах и никсах по разному ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 15:52 |
|
||
|
хранение файлов
|
|||
|---|---|---|---|
|
#18+
вот http://tomcat.apache.org/tomcat-8.0-doc/api/org/apache/catalina/webresources/DirResourceSet.html DirResourceSet Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 15:55 |
|
||
|
хранение файлов
|
|||
|---|---|---|---|
|
#18+
вадякак понял - мне по барабну куда будет писаться,главное чтоб было не в webapps на папку выше по относительному не пробовал? Типа ../ ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 16:38 |
|
||
|
хранение файлов
|
|||
|---|---|---|---|
|
#18+
вадяабсолютные пути можно прописать хоть в web.xml даже винда не удаляет все подряд файлы при деинсталляции. Вот, у меня и сомнения, что у тебя ресурсы удаляются. И то что нужны абсолютные пути прямо из приложения. _В крайнем случае_ настройщик - админ пишет абсолютный путь в том формате, который нужен серверу. так \\ или так // Не понял твоей проблемы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 16:42 |
|
||
|
хранение файлов
|
|||
|---|---|---|---|
|
#18+
Petro123вадякак понял - мне по барабну куда будет писаться,главное чтоб было не в webapps на папку выше по относительному не пробовал? Типа ../ ? не пробовал, т.к. надо чтоб и возможность было куда угодно. в том числе и на другой диск. как задать WebResourceRoot root? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 16:43 |
|
||
|
хранение файлов
|
|||
|---|---|---|---|
|
#18+
вадяв том числе и на другой диск. а на такой: \\шара\моя папка ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 16:46 |
|
||
|
хранение файлов
|
|||
|---|---|---|---|
|
#18+
Я с вас худею ... Проблема, которая решается созданием двух файлов, в которые надо прописать две строчки и написанием человеческого init() (всё-равно нужен) решается чтением черезанусных решений с разных форумов. Я бы понял пре/постресурсы tomcat8, если бы у меня было активное хранилище и "архивные разделы" из которых файлы "только достаются" и, может быть, удаляются, но если всё, что требуется - изменить docBase контекста?.. Зачем??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 16:48 |
|
||
|
хранение файлов
|
|||
|---|---|---|---|
|
#18+
Petro123а на такой: \\шара\моя папка ?На общих основаниях: будет у процесса JVM Tomcat-а доступ к ресурсам - можно, нет - обломайтесь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 16:49 |
|
||
|
хранение файлов
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovЯ с вас худею ... Проблема, которая решается созданием двух файлов, в которые надо прописать две строчки и написанием человеческого init() (всё-равно нужен) решается чтением черезанусных решений с разных форумов. Я бы понял пре/постресурсы tomcat8, если бы у меня было активное хранилище и "архивные разделы" из которых файлы "только достаются" и, может быть, удаляются, но если всё, что требуется - изменить docBase контекста?.. Зачем??? тут несколько сторон -изучить новое -вполе може быть что и внешние ресурсы будут... -лень изменить docBase, т.к. приходится часто выкладывать на линукс и править каждый раз docBase.... да и забыть можно про исправление , а потом чеши репу, почему не деплоится... а при сопровождении и подавно... а так прописал один раз путь для окон и для линукса и пусть сам пишет куда надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 17:04 |
|
||
|
хранение файлов
|
|||
|---|---|---|---|
|
#18+
вадяизучить новое Просто твой вопрос относится к администрированию, а не программированию. Это как в гинекологию уйти)). Т.к. деплой на линукс и винду, всё рано разные вещи. От ручной (или через админку) правки конфига всё рано не уйти. IMHO ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 17:15 |
|
||
|
хранение файлов
|
|||
|---|---|---|---|
|
#18+
Petro123вадяизучить новое Просто твой вопрос относится к администрированию, а не программированию. Это как в гинекологию уйти)). Т.к. деплой на линукс и винду, всё рано разные вещи. От ручной (или через админку) правки конфига всё рано не уйти. IMHO ну почему? разработка под окнами в netbeans нажал кнопку - развернулось атоматом и war готов скопировал war на линукс перезапустил томкат (а то и автоматом будет деплоится) можно даже автоматзировать и одной кнопкой из netbeans деплоить в линукс. так что правок не требуется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2015, 17:32 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38870660&tid=2125793]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
411ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 691ms |

| 0 / 0 |
