ServletException(未找到 JNLP JSP)

ServletException (JNLP JSP not found)

我正在开发 JWS 应用程序作为 applet 的替代品。到目前为止,我已经能够通过 HTML 页面中的 link 从其父应用程序启动我的应用程序到静态 JNLP。但是我的应用程序确实需要由动态 JNLP 启动,因为每次执行时参数值都会不同。所以我决定以 [此处][1] 所示的方式扩展 JnlpDownloadServlet。我下载的 servlet 名为 download,它映射到 URL 模式 \download 并引用了一个名为 myJnlp.jsp 的 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);
   }

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

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

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

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

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