JNLP dynamisch generieren

Ich muss das Argument dynamisch an JNLP übergeben, für das ich versucht habe, ein Servlet zu verwenden, das erweitert wirdJnlpDownloadServlet und enthält dann einen JSP, in den das gesamte JNLP-XML geschrieben ist.

Aber wenn ich das heruntergeladene JNLP aufrufe, bekomme ichBadFieldException.

Servlet
public class TestServlet extends JnlpDownloadServlet {  
public void service(ServletRequest req, ServletResponse res)  throws ServletException, IOException {  
HttpServletRequest request = (HttpServletRequest) req;
res.setContentType("application/x-java-jnlp-file");
request.getRequestDispatcher("/jnlp.jsp").include(request, res);  
}  
jnlp.jsp

Verwendet für das Dumping von dynamischem JNLP:

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="1.0+" codebase=<%=request.getScheme() + "://"+ request.getServerName() + ":" + request.getServerPort()+ request.getContextPath() + "/" %> href="test.jnlp">
  <information>
   <title>Demo</title>
   <vendor>Sun Microsystems, Inc.</vendor>
  </information>
  <security>
   <all-permissions/>
  </security>
  <resources>
   <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/>
   <jar href="lib/test.jar" main="true" />
  </resources>
  <application-desc name="Dynamic Tree Demo Application" main-class="org.Test" width="300"   height="300">
       <argument><%=request.getParameter("arg1")%></argument>  
       <argument><%=request.getParameter("arg2")%></argument>
  </application-desc>
  <update check="background"/>
</jnlp>

Ich kann nicht sehen, dass die Anforderungsparameter im heruntergeladenen JNLP korrekt empfangen wurden, aber die oben genanntenrequest.getScheme undrequest.getServerName scheinen gut zu funktionieren. Weil der Argumentwert nicht richtig empfangen wurde, bekomme ichBadFieldException wenn JNLP versucht auszuführen.

Wie kann man das lösen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage