文档

Java™ 教程
隐藏目录
在小程序标签中嵌入 JNLP 文件
路径: 部署
课程: 深入部署
章节: 部署工具包
子章节: 部署小程序

在Applet标签中嵌入JNLP文件

当使用Java网络启动协议(JNLP)部署小程序时,Java插件软件会在从网络下载JNLP文件后启动小程序。从Java SE 7版本开始,通过将JNLP文件嵌入到网页本身中,可以缩短小程序启动时间,避免在首次加载小程序时进行额外的网络请求。这将使小程序在Web浏览器上快速启动。

在网页中部署小程序时,可以使用jnlp_embedded参数嵌入Base64编码的JNLP文件。以下是<jnlp>元素的属性应满足以下限制:

以下步骤描述了如何将JNLP文件嵌入到网页中以部署小程序:

  1. 为小程序创建一个JNLP文件。下面是一个示例文件。
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- href属性包含相对路径;
         codebase属性未指定 -->
    <jnlp href="dynamictree_applet.jnlp">
        <information>
            <title>动态树演示</title>
            <vendor>Dynamic Team</vendor>
        </information>
        <resources>
            <!-- 应用程序资源 -->
            <j2se version="1.7+" />
            <jar href=
                "dist/applet_ComponentArch_DynamicTreeDemo/DynamicTreeDemo.jar" 
                 main="true" />
        </resources>
        <applet-desc 
             name="动态树演示小程序"
             main-class="appletComponentArch.DynamicTreeApplet"
             width="300"
             height="300">
         </applet-desc>
         <update check="background"/>
    </jnlp>
    
  2. 使用Base64方案对JNLP文件的内容进行编码。可以使用任何Base64编码工具来对JNLP文件进行编码。请查看工具的用法以创建一个具有Base64编码的字符串。以下是一些可用的工具和网站示例:
  3. 在网页中部署小程序时,使用jnlp_embedded参数,并将其值设置为Base64编码的JNLP字符串。确保只包含实际的Base64字节,不包含任何编码工具特定的头部或尾部。
    <script src="https://www.java.com/js/deployJava.js"></script>
    <script>
        var attributes = {} ;
        <!-- 编码字符串截断以便阅读 -->
        var parameters = {jnlp_href: 'dynamictree_applet.jnlp',
            jnlp_embedded: 'PCEtLSANCi8qDQogKiBDb ... bmxwPg=='
        } ;
        deployJava.runApplet(attributes, parameters, '1.6');
    </script>
    

    某些编码工具可能会将编码字符串包装成多个76列的行。要在JavaScript代码中使用这种多行属性值,请将属性值指定为一组连接的字符串。如果直接使用<applet> HTML标记部署小程序,则可以将多行属性值原样包含。

在浏览器中打开AppletPage.html,可以查看通过在网页中嵌入JNLP文件启动的动态树演示小程序。


注意: 如果你看不到运行的小程序,请安装至少Java SE Development Kit (JDK) 7版本。

注意: 如果你看不到示例正在运行,可能需要在浏览器中启用JavaScript解释器,以使部署工具包脚本能够正常工作。

下载源代码以进一步进行实验的嵌入JNLP示例。


上一页: 部署Applet
下一页: 部署Java Web Start应用程序