ServletException(找不到JNLP JSP)

时间:2016-07-25 20:54:27

标签: java jsp servlets jnlp servletexception

我正在开发一个JWS应用程序作为applet替代品。到目前为止,我已经能够通过HTML页面中的链接从其父应用程序启动我的应用程序到静态JNLP。但我的应用程序确实需要由动态JNLP启动,因为每次执行时参数值都不同。所以我决定以[here] [1]中显示的方式扩展JnlpDownloadServlet。我的下载servlet名为download,它映射到URL模式\download,并在覆盖方法{{1}中引用一个名为myJnlp.jsp的JSP,该JSP当前包含一些静态JNLP。 }:

service

当我尝试调用我的下载servlet时,出现以下错误:

    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。我是否将JNLP页面放在错误的位置,或者是否在我的servlet代码中错误地指定了它?

1 个答案:

答案 0 :(得分:0)

我通过创建一个名为myJWSApp的子目录解决了这个问题,然后我将JNLP JSP放在该目录中,然后将其引用为

request.getRequestDispatcher("myJWSApp/myJnlp.jsp").include(request, resp);

感谢@rickz,他的评论指出了我正确的方向......