Я разрабатываю приложение JWS в качестве замены апплета. До сих пор мне удавалось запускать свое приложение из его родительского приложения по ссылке на HTML-странице на статическую JNLP. Но мое приложение действительно нужно запускать с помощью динамического JNLP, поскольку значения аргументов будут разными при каждом выполнении. Поэтому я решил расширить JnlpDownloadServlet так, как показано [здесь][1]. Мой сервлет загрузки называется download
, который сопоставляется с шаблоном URL \download
и ссылается на JSP с именем myJnlp.jsp
, который в настоящее время содержит некоторый статический JNLP, в переопределенном методе service
:
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
{
HttpServletRequest request = (HttpServletRequest) req;
resp.setContentType("application/x-java-jnlp-file");
request.getRequestDispatcher("/myJnlp.jsp").include(request, resp);
}
Когда я пытаюсь вызвать свой сервлет загрузки, я получаю следующую ошибку:
javax.servlet.ServletException: File "/myJnlp.jsp" not found
org.apache.jasper.servlet.JspServlet.handleMissingResource(JspServlet.java:417)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:384)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
com.myCompany.parentApp.myDownloadServlet.service
Я поместил myJnlp.jsp
в каталог jsp
, который содержит другие JSP, используемые родительским приложением. Я разместил страницу JNLP в неправильном месте или неправильно указал ее в своем коде сервлета?