Этот вопрос является конкретным вопросом программирования, а также некоторыми общими советами.
Специальный вопрос программирования:
Я пишу очень маленькое приложение, которое вызывает JSP к сервлету в ApacheTomcat 9, динамический веб-модуль версии 4.0.
Если пользователь нажимает кнопку справки в JSP, процедура POST возвращается к сервлету Java.Метод doPost в сервлете вызывает метод showHelp.Все это прекрасно работает.
Я хотел, чтобы метод showHelp (запрос HttpsServletRequest, ответ HttpsServletResponse) открывал zip (AdminHelp.zip), содержащий файлы справки, созданные RoboHelp, начиная с index.htm.Я поместил каталог WEB-INF / help в путь сборки.Когда конструктор ZipFile пытается открыть файл AdminHelp.zip, я получаю следующую ошибку:
\ Web-INF \ help \ AdminHelp.zip (системе не удается найти указанный путь)
Поскольку WEB-INF \ help находится в пути сборки, а соседние каталоги WEB-INF \ css и WEB-INF \ classes работают, я не вижу, что мне не хватает?
private void showHelp(HttpServletRequest request, HttpServletResponse response)
throws IOException, URISyntaxException {
ZipFile zipFile = null;
InputStream stream = null;
try {
zipFile = new ZipFile("/WEB-INF/help/AdminHelp.zip");
stream = zipFile.getInputStream(zipFile.getEntry("index.htm"));
// Need code here to get help pages back to client.
RequestDispatcher dispatcher = request.getRequestDispatcher("/ShowHelp.jsp");
try {
dispatcher.forward(request, response);
} catch (ServletException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (Exception ex) {
System.out.println(ex.getMessage());
} finally {
if(stream != null)
stream.close();
if(zipFile != null)
zipFile.close();
}
}
Общий совет Вопрос:
Есть ли более простой способ предоставить пользователю файлы RoboHelp?Я задавался вопросом об установке файлов и каталогов RoboHelp, которые начинаются с index.htm, а затем о предоставлении ссылки.Кажется, мне нужен сервер Apache httpd, чтобы это работало.Интересно, не стоит ли устанавливать веб-сервер на коробку, которая предоставляет только простой веб-сервис с использованием сервлета под Tomcat.