0

アプレットの代替として JWS アプリケーションを開発しています。これまでのところ、HTML ページ内の静的 JNLP へのリンクを介して、親アプリケーションからアプリを起動できました。ただし、実行ごとに引数の値が異なるため、動的 JNLP によってアプリを起動する必要があります。そこで、[こちら][1]に示す方法で JnlpDownloadServlet を拡張することにしました。ダウンロード サーブレットは と呼ばれdownload、URL パターンにマップされ、オーバーライドされたメソッドで現在いくつかの静的 JNLP を含む\downloadと呼ばれる JSP を参照します。myJnlp.jspservice

    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

親アプリケーションによって使用される他の JSP を含むディレクトリであるmyJnlp.jspディレクトリに配置しました。jspJNLP ページを間違った場所に置いたのでしょうか、それともサーブレット コードで間違って指定したのでしょうか?

4

1 に答える 1

0

というサブディレクトリを作成してこれを解決し、myJWSAppそのディレクトリに JNLP JSP を配置して、次のように参照しました。

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

コメントが正しい方向に私を指摘してくれた@rickzに感謝します...

于 2016-08-24T19:06:10.647 に答える