Есть ли способ сделать папку, которая НЕ упакована в военный файл, доступный через GET.Доступ к папкам за пределами прикладного пакета (.ear/.war file)
Возможно, установив что-то в web.xml?
Есть ли способ сделать папку, которая НЕ упакована в военный файл, доступный через GET.Доступ к папкам за пределами прикладного пакета (.ear/.war file)
Возможно, установив что-то в web.xml?
Да, вы можете использовать alternatedocroot
объект (in Glassfish) для подачи файлов (например, изображений) из-за пределов войны.
Это свойство может быть подэлементом из ВС-веб-приложения элемента в файле ВС-web.xml или элемент виртуального сервера в domain.xml файл
См здесь: http://docs.sun.com/app/docs/doc/820-4496/geqpl?l=en&a=view
пример:
<property name="alternatedocroot_1" value="from=/images/* dir=/usr/gifs"/>
Вы можете добавить сервлета т o ваше приложение, которое читает файл.
Пример (требуется обработка ошибок)
public class FileDownloadServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String filename = request.getParameter("filename");
InputStream is;
try {
is = FileUtils.openInputStream(new File(filename));
byte[] buf = new byte[ 8192 ];
int bytesRead;
while ((bytesRead = is.read(buf)) != -1)
os.write(buf, 0, bytesRead);
}
catch(...) {
}
finally {
is.close();
os.close();
}
response.setContentType("application/octet-stream");
}
}
+1 для приятной альтернативы. Благодаря ;) – Bogdan
Это выглядит как то, что я ищу. Благодарю. – Bogdan