java - 使用 php 动态创建 JNLP,但存在icedtea web 启动问题

标签 java php jsp jnlp

我正在使用 PHP/JSP 动态生成 jnlp 文件。我使用一个网址 www.example.com/start 来读取 jnlp 文件,该文件包含一些被动态值替换的标签。它用文件中的一些计算值替换标签(arg1,arg2),然后输出下载到用户浏览器上的jnlp文件。 JNLP 文件包含以下 url 作为代码库中的 href。

test.php?arg1=value&arg2=val2

test.php 文件读取 URI 并再次输出相同的 jnlp 文件。该文件不计算任何内容。它只是将 URL 中接收到的值替换为上面的文件标签。

问题:

当我在浏览器中运行 url www.example.com/start 并使用 javaws 打开 jnlp 时,它工作正常,但如果我使用 firefox 中的默认选项 icedtea 打开 jnlp 文件,则它不起作用并显示jnlp 读取错误。

在我的调查中,我发现当我们用icedtea打开jnlp时,它不会通过test.php中的?arg1=value&arg2=val2,从而导致问题。任何人都可以帮我解决这个问题吗?

最佳答案

我可以确认这个问题,IcedTea 在请求 .jar 时会删除所有查询参数(? 之后的所有内容),而 Sun/Oracle 实现将它们传递到服务器。我没有挖掘 JNLP 规范来确认这是否是 IcedTea 中的错误。

我们使用服务器上的 URL 重写规则解决了这个问题,该规则将查询参数映射到路径组件。

关于java - 使用 php 动态创建 JNLP,但存在icedtea web 启动问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13257228/

相关文章:

php - 我可以使用 Joomla 的社区构建器作为表单组件吗?

javascript - 如何在jsp中获取<input type ="file"的文件名

php - PHP 显示结果中的总列数

java - newCachedThreadPool 是如何复用线程的?

java - 镜像带有字符串参数的方法

java - Play Framework 无法创建 Intellij 项目

php - php错误消息未在include()函数内浏览

java - 在liferay中以编程方式创建站点(组)

jsp - 如何将 commons.io 添加到类路径?

java - 复制 OpenSSL 命令以在 Java 中签署文件