Java教程是为JDK 8编写的。本页面描述的示例和实践不利用后续版本引入的改进,并可能使用不再可用的技术。
请查看Java语言更改以获取Java SE 9及其后续版本中更新的语言特性的摘要。
请查看JDK发行说明以获取所有JDK版本的新功能、增强功能以及已删除或不推荐使用的选项的信息。
当使用Java网络启动协议(JNLP)部署小程序时,Java插件软件会在从网络下载JNLP文件后启动小程序。从Java SE 7版本开始,通过将JNLP文件嵌入到网页本身中,可以缩短小程序启动时间,避免在首次加载小程序时进行额外的网络请求。这将使小程序在Web浏览器上快速启动。
在网页中部署小程序时,可以使用jnlp_embedded
参数嵌入Base64编码的JNLP文件。以下是<jnlp>
元素的属性应满足以下限制:
href
属性应包含相对路径。codebase
属性。这意味着codebase将从加载小程序的网页的URL派生出来。以下步骤描述了如何将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>
base64
,uuencode
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标记部署小程序,则可以将多行属性值原样包含。
在浏览器中打开
,可以查看通过在网页中嵌入JNLP文件启动的动态树演示小程序。AppletPage.html
下载源代码以进一步进行实验的嵌入JNLP示例。