首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动态生成JNLP

动态生成JNLP
EN

Stack Overflow用户
提问于 2012-06-15 02:02:06
回答 2查看 12.2K关注 0票数 11

我需要动态地将参数传递给JNLP,为此,我尝试使用一个servlet来扩展JnlpDownloadServlet,然后包含一个jsp,所有的JNLP XML都写入其中。

但是当我调用下载的JNLP时,我得到的是BadFieldException

Servlet

代码语言:javascript
复制
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

用于转储动态JNLP:

代码语言:javascript
复制
<?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>

在下载的JNLP中,我看不到请求参数被正确接收,但是上面的request.getSchemerequest.getServerName似乎工作得很好。由于参数值没有被正确接收,所以当JNLP试图执行时,我得到了BadFieldException

如何解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-15 15:27:29

从逻辑上讲,href="test.jnlp"应该类似于href="test.jnlp?arg1=blah&arg2=tah"

AFAIU JWS客户端将使用JNLP中声明的确切coodebase/href返回到服务器。

另外,一定要听听bestsss要说的话。

票数 8
EN

Stack Overflow用户

发布于 2013-04-25 23:40:34

也许太老了,因为它很有用,但我实际上修补了Sun servlet代码。有一个JnlpFileHandler类,实际的替换是在其中完成的……只是说..。;-)如果任何人感兴趣,我可以给你代码,包括一些解释。我没有在这上面浪费太多的时间,但我能说的是,我真的希望SUN的其余代码能够更多地尊重面向对象的原则……

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11038773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档