首页 文章

当webl中存在查询字符串时,java webstart重新下载jnlp

提问于
浏览
4

我正在使用tomcat来提供webstart应用程序 . 我有一个servlet根据发送到tomcat的url写出一个jnlp,允许参数传递给main . 在没有查询字符串的情况下请求jnlp时,我看到tomcat提供了一次jnlp,但是只要我在url中添加一个查询字符串,我就会看到tomcat两次提供jnlp:

0:0:0:0:0:0:0:1 - - [08/Nov/2012:09:10:44 -0600] "GET /javastart/testapp.jnlp HTTP/1.1" 200 2062

0:0:0:0:0:0:0:1 - - [08/Nov/2012:09:01:48 -0600] "GET /javastart/testapp.jnlp?56 HTTP/1.1" 200 2103
127.0.0.1 - - [08/Nov/2012:09:01:48 -0600] "GET /javastart/testapp.jnlp HTTP/1.1" 200 2062

如果我删除jnlp元素的href属性,则不会发生这种情况 . 这让我相信webstart出于某种原因再次请求jnlp文件 . 这是正确的吗?如果是这样,为什么?

1 回答

  • 1

    我找不到可靠的文档,但它似乎与jnlp标记的href属性以及webstart如何确保它具有最新的jnlp密切相关 . 如果生成的jnlp中的url与用于初始请求的url不匹配,webstart将使用刚刚下载的jnlp中的jnlp标记中的url再次请求jnlp . 在我们的设置中,jnlp标记中的href属性是静态的,并且未生成以匹配查询字符串中传递的属性 . 由于给定webstart的jnlp url与它在jnlp中找到的url不同,它再次请求jnlp但没有查询字符串 .

相关问题