我正在开发一个JWS应用程序,作为applet的替代品。到目前为止,我已经能够从它的父应用程序通过HTML页面中的链接启动我的应用程序到静态JNLP。但是我的应用程序确实需要由动态JNLP启动,因为参数值在每次执行时都会有所不同。因此,我决定以这里所示的方式扩展JnlpDownloadServlet。我的下载servlet名为download,它映射到URL模式\download,并在overriden方法service中引用名为myJnlp.jsp的JSP,该JSP当前包含一些静态JNLP。
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代码中错误地指定了JNLP页面?
发布于 2016-08-24 19:06:10
我通过创建一个名为myJWSApp的子目录来解决这个问题,然后将JNLP放在该目录中,然后将其引用为
request.getRequestDispatcher("myJWSApp/myJnlp.jsp").include(request, resp);感谢@rickz,他的评论为我指明了正确的方向.
https://stackoverflow.com/questions/38577260
复制相似问题