【问题标题】:Error in accessing .jnlp file from a web link从 Web 链接访问 .jnlp 文件时出错
【发布时间】:2012-12-22 18:25:47
【问题描述】:

我在链接到.jnlp 文件的门户网站上上传了一个java 应用程序。该文件的链接在一个html文件Launch.html中,如下所示:

单击启动按钮时出现的错误如下:

HTTP 错误 404.3 - 未找到
您请求的页面无法 由于扩展配置而提供服务。如果页面是 脚本,添加处理程序。如果应该下载文件,请添加 MIME 地图。

launch.jnlp 内容:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<jnlp codebase="" href="launch.jnlp" spec="1.0+">
<information>
    <title>BuisnessInternals</title>
    <vendor>Administrator</vendor>
    <homepage href=""/>
    <description>BuisnessInternals</description>
    <description kind="short">BuisnessInternals</description>
<icon href="Welcome2.png" kind="splash"/>
</information>
<update check="always"/>
<resources>
    <j2se version="1.6+"/>
    <jar href="BuisnessInternals.jar" main="true"/>
<jar href="lib/AbsoluteLayout.jar"/>
<jar href="lib/itext-pdfa-5.3.3-javadoc.jar"/>
<jar href="lib/itext-pdfa-5.3.3-sources.jar"/>
<jar href="lib/itextpdf-5.3.3.jar"/>
<jar href="lib/itext-xtra-5.3.3-javadoc.jar"/>
<jar href="lib/itext-xtra-5.3.3-sources.jar"/>
<jar href="lib/itext-xtra-5.3.3.jar"/>
<jar href="lib/itextpdf-5.3.3-javadoc.jar"/>   
<jar href="lib/itextpdf-5.3.3-sources.jar"/>   
<jar href="lib/itextpdf-5.3.3.jar"/>
<jar href="lib/beansbinding-1.2.1.jar"/>
<jar href="lib/eclipselink-2.3.2.jar"/>
<jar href="lib/javax.persistence-2.0.3.jar"/>
<jar href="lib/org.eclipse.persistence.jpa.jpql_1.0.1.jar"/>
<jar href="lib/barcode.jar"/>
<jar href="lib/itext-pdfa-5.3.3-javadoc.jar"/>
<jar href="lib/itext-pdfa-5.3.3-sources.jar"/>
<jar href="lib/itext-pdfa-5.3.3.jar"/>
<jar href="lib/itext-xtra-5.3.3-javadoc.jar"/>
<jar href="lib/itext-xtra-5.3.3-sources.jar"/>
<jar href="lib/itext-xtra-5.3.3.jar"/>
<jar href="lib/itextpdf-5.3.3-javadoc.jar"/>
<jar href="lib/itextpdf-5.3.3-sources.jar"/>
<jar href="lib/itextpdf-5.3.3.jar"/>
<jar href="lib/jcalendar-1.4.jar"/>
</resources>
<application-desc main-class="buisnessinternals.mainFrame">
</application-desc>
</jnlp>

launch.html 内容:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
    <title>Test page for launching the application via JNLP</title>
</head>
<body>
    <h3>Test page for launching the application via JNLP</h3>
    <script src="http://java.com/js/deployJava.js"></script>
    <script>
        deployJava.createWebStartLaunchButton("launch.jnlp")
    </script>
    <!-- Or use the following link element to launch with the application -->
    <!--
    <a href="launch.jnlp">Launch the application</a>
    -->
</body>
</html>

有什么办法可以解决吗?

【问题讨论】:

  • 提供给脚本的参数是什么?是应用程序。 public,我们可以访问它,在什么 URL 上? JNLP 似乎没有正确的路径,并且服务器返回的 404 页面(可能text/html 未被识别为application/x-java-jnlp-file)。使用this applet检查文档的内容类型。
  • html 文件包含以下代码:启动应用程序。 .jnlp 文件在同一个文件夹中。
  • 不,复制/粘贴完整的 HTML(/JS) 作为编辑。 我们可以看到的链接在哪里?
  • 我已经编辑了问题。

标签: java http-status-code-404 jnlp java-web-start


【解决方案1】:

似乎网络服务器需要一些额外的配置来将 .jnlp 文件扩展名与 application/x-java-jnlp-file mime 类型相关联。

【讨论】:

  • 您是指我上传文件的门户网站?
  • 是的。或者使用您控制的其他网络服务器。
  • 好的,Henry 我会试试这个,并挑衅地对此发表评论。这可能需要我一段时间。
【解决方案2】:

JnlpDownloadServlet 中指定 MIME 类型

response.setContentType("application/x-java-jnlp-file");

阅读此Java Web Start tutorial 以获得清晰的理解。

编辑

<a href="launch.jnlp">Launch the application</a>

您指定的上述 html 链接应该可以正常工作,请确保您的 launch.jnlp 文件路径中您保留了类似 &lt;a href="/somepath/launch.jnlp"&gt; 的文件路径

【讨论】:

  • 我没有 JnlpDownloadServlet,但我有一个简单的 html 文件,其中包含 .jnlp 文件的 href。在同一个文件夹中。实际上我是用 netbeans 生成的,它默认创建 html 文件和 jnlp 文件。
  • 你可以在你的问题中添加你的 jnlp 文件内容
猜你喜欢
  • 2019-11-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-18
  • 2021-05-07
  • 2012-04-10
  • 1970-01-01
相关资源
最近更新 更多