jsf / glassfish хостинг статических файлов - PullRequest
2 голосов
/ 30 декабря 2011

Я использую Glassfish / JSF. Можно ли разместить статические файлы с диска? Мне нужно сгенерировать XML-файл и сохранить его где-нибудь на диске, чтобы он мог быть доступен как http://domain.com/file.xml

Мне нужна функция, аналогичная apache / php, где я могу сохранить файл в / public_html, и он будет автоматически доступен.

Ответы [ 3 ]

1 голос
/ 30 декабря 2011

Я думаю, вам стоит попробовать Виртуальный каталог . По сути, вам нужно только создать виртуальный каталог, который сопоставлен с папкой на вашем жестком диске. После этого вы можете получить доступ ко всем файлам в этой папке напрямую с URL-адреса.

0 голосов
/ 19 марта 2014

В папке домена есть папка с именем docroot: domain-dir/docroot. Все, что вы там поместите, будет опубликовано как статический контент.

0 голосов
/ 30 декабря 2011

Идея виртуального каталога хороша, но обычно эту проблему можно решить достаточно просто, задав собственный сервлет.Нет необходимости в дополнительном компоненте.

<servlet>
  <servlet-name>Mah Servlet</servlet-name>
  <servlet-class>org.mahorg.MahServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
  <servlet-name>Mah Servlet</servlet-name>
  <url-pattern>*.xml</url-pattern>
</servlet-mapping>

Тогда вы просто напишите сервлет, который может выполнять следующие действия ...

1. Determine filename and folder location looking at request context path
2. Get bytes of file using easy tool like Apache Commons IO.
3. Put bytes into response stream
4. Set response header to XML mime type
5. Response complete

Не забывайте об обязательных проблемах безопасностии разрешения для файлов и т.д ...

...