アプレットの代替として JWS アプリケーションを開発しています。これまでのところ、HTML ページ内の静的 JNLP へのリンクを介して、親アプリケーションからアプリを起動できました。ただし、実行ごとに引数の値が異なるため、動的 JNLP によってアプリを起動する必要があります。そこで、[こちら][1]に示す方法で JnlpDownloadServlet を拡張することにしました。ダウンロード サーブレットは と呼ばれdownload
、URL パターンにマップされ、オーバーライドされたメソッドで現在いくつかの静的 JNLP を含む\download
と呼ばれる JSP を参照します。myJnlp.jsp
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
親アプリケーションによって使用される他の JSP を含むディレクトリであるmyJnlp.jsp
ディレクトリに配置しました。jsp
JNLP ページを間違った場所に置いたのでしょうか、それともサーブレット コードで間違って指定したのでしょうか?