在浏览器中打开JNLP

时间:2017-02-21 14:58:03

标签: java javafx jnlp

我需要在浏览器中启动我的JNLP应用程序,而不是在提供URL时单独下载&打开它。下面是我的jnlp文件:

translateY

我的jar文件也是xxx.jar。下面是我的jsp文件。我的jnlp文件嵌入在jsp中,它在下面。

<jnlp spec="1.0+" codebase="http://localhost:7077/ChqPrint/files/" href="JNLP_print.jnlp">
    <information>
        <title>Jnlp Testing</title>
        <vendor>xxx</vendor>
        <homepage href="http://localhost:7077/ChqPrint/files/" />
        <description>Testing </description>
    </information>
    <security>
        <all-permissions/>
    </security>
    <resources>
        <j2se version="1.7+" />
        <jar href="resources/xxx.jar" main="true" />
        </resources>
    <application-desc main-class="com.scb.app.LaunchApplication" />
    <update check="background"/>
</jnlp>

我通常使用网址http://localhost:7077/ChqPrint/files/cheque_print.jsp启动我的应用程序 这将下载我的jnlp文件作为独立的应用程序。

现在要求是在浏览器中打开jnlp&amp;他们不希望它单独打开。关于如何实施它的任何想法?

1 个答案:

答案 0 :(得分:2)

具体来说,请查看将JNLP数据嵌入网页的5.9.2 Embed the Deployment Descriptor into the Web Page部分。这将生成some JavaScript in the page以调用Oracle Java浏览器插件,该插件将直接将应用程序启动到浏览器中(如果部署环境中支持Oracle Java浏览器插件)。

正如詹姆斯在评论中提到的,Oracle Java plugin is soon to be deprecated(在许多浏览器中默认情况下默认不支持或禁用)。因此,不建议使用部署模式(在HTML网页中嵌入和呈现的Java Applet或JavaFX应用程序),假设应用程序用户可以使用可用的Oracle Java插件。

如果您想要一个在浏览器中运行的应用,请使用基于浏览器的技术,例如HTML5Angular或其他一些当时流行的基于JavaScript的库(仅限我的观点) )。