# 部署 Applet

> 原文： [https://docs.oracle.com/javase/tutorial/deployment/deploymentInDepth/runAppletFunction.html](https://docs.oracle.com/javase/tutorial/deployment/deploymentInDepth/runAppletFunction.html)

您可以使用 [Deployment Toolkit](https://www.java.com/js/deployJava.txt) 脚本的`runApplet`功能部署 applet。 `runApplet`函数确保客户端上存在所需的最低版本的 Java Runtime Environment（JRE）软件，然后运行 applet。 `runApplet`函数生成带有所提供信息的 HTML `&lt;applet&gt;`标记。

* * *

**Note:** Depending on the type of browser, you might be unable to view the HTML generated by the Deployment Toolkit script when you try to view the source for the web page. To view the generated HTML, try saving the HTML page after it has been loaded, or use a tool such as Firebug (a Mozilla Firefox add-on).

* * *

您可以通过将部署选项指定为`&lt;applet&gt;`标记的属性和参数来部署 applet。您还可以在 Java 网络启动协议（JNLP）文件中指定部署选项，以利用高级功能。有关此协议的更多信息，请参见 [Java 网络启动协议](../deploymentInDepth/jnlp.html)主题。

* * *

**Note:** 

如果客户端没有所需的最低版本的 JRE 软件，则 Deployment Toolkit 脚本会将浏览器重定向到`http://www.java.com`以允许用户下载最新的 JRE 软件。在某些平台上，用户可能会在查看包含 applet 的网页之前被重定向。

* * *

`runApplet`功能的参数取决于您使用的是 JNLP。使用 JNLP 部署的小程序只有在客户端计算机上存在下一代 Java 插件软件时才能运行（下一代 Java 插件软件是在 Java 平台，标准版 6 更新版本 10 中引入的）。

下一节将介绍如何在将显示 applet 的 HTML 页面中使用`runApplet`功能。描述了以下使用场景：

*   [将部署选项指定为属性和参数名称 - 值对](#tagAttrsParams)
*   [使用`jnlp_href`参数指定 JNLP 文件中的部署选项](#appletJnlp)
*   [指定属性和参数名称 - 值对 _ 以及 _ JNLP 文件](#tagAndJnlp)（使 applet 能够在旧版和下一代 Java 插件软件上运行）

**功能签名：** `runApplet: function(attributes, parameters, minimumVersion)`

参数：

*   `attributes` - 生成的`&lt;applet&gt;`标记的属性的名称和值
*   `parameters` - 生成的`&lt;applet&gt;`变量中`&lt;param&gt;`变量的名称和值
*   `minimumVersion` - 运行此 applet 所需的最低版本的 JRE 软件

用法：

*   Specifying deployment options as attribute and parameter name-value pairs

    作为名称 - 值对传递的属性和参数在生成的`&lt;applet&gt;`标记中作为属性和嵌套的`&lt;param&gt;`标记写出。以这种方式部署的小程序可以由旧的 Java Plug-in 软件运行。

    ```
    // launch the Java 2D applet on JRE version 1.6.0
    // or higher with one parameter (fontSize)
    &lt;script src=
        "https://www.java.com/js/deployJava.js"&gt;&lt;/script&gt;
    &lt;script&gt;
        var attributes = {code:'java2d.Java2DemoApplet.class',
            archive:'Java2Demo.jar', width:710, height:540};
        var parameters = { fontSize:16, permissions:'sandbox' };
        var version = '1.6';
        deployJava.runApplet(attributes, parameters, version);
    &lt;/script&gt;

    ```

    在浏览器中打开 [``DeployUsingNameValuePairs.html``](examples/dist/depltoolkit_Java2Demo/DeployUsingNameValuePairs.html)以查看 Java2D 小程序。

    * * *

    **Note:**  If you don't see the applet running, you need to install at least the [Java SE Development Kit (JDK) 7](http://www.oracle.com/technetwork/java/javase/downloads/index.html) release.

    * * *

*   Using the `jnlp_href` parameter to specify deployment options in a JNLP file

    作为名称 - 值对传递的属性和参数（在这种情况下为`jnlp_href`）在生成的`&lt;applet&gt;`标记中作为属性和嵌套的`&lt;param&gt;`标记写出。以这种方式部署的 Applet 只能由下一代 Java Plug-in 软件运行。最好将 applet 的宽度和高度指定为属性，如下所示：

    ```
    &lt;script src="https://www.java.com/js/deployJava.js"&gt;&lt;/script&gt;
    &lt;script&gt; 
        var attributes = { code:'java2d.Java2DemoApplet', width:710, height:540 }; 
        var parameters = { jnlp_href: 'java2d.jnlp' }; 
        deployJava.runApplet(attributes, parameters, '1.6'); 
    &lt;/script&gt;

    ```

    在浏览器中打开 [``DeployUsingJNLP.html``](examples/dist/depltoolkit_Java2Demo/DeployUsingJNLP.html)以查看 Java2D 小程序。

    * * *

    **Note:**  If you don't see the applet running, you need to install at least the [Java SE Development Kit (JDK) 6 update 10](http://www.oracle.com/technetwork/java/javase/downloads/index.html) release.

    * * *

*   Specifying attribute and parameter name-value pairs _as well as_ a JNLP file

    使用 JNLP 部署的 Applet 仅在最终用户在其浏览器上运行下一代 Java Plug-in 软件时运行。如果您希望 applet 也在旧的 Java Plug-in 软件上运行，请使用属性和参数名称 - 值对 _ 以及 _ JNLP 文件指定部署选项。

    ```

    &lt;script src="https://www.java.com/js/deployJava.js"&gt;&lt;/script&gt;
    &lt;script&gt;  
        var attributes = {code:'java2d.Java2DemoApplet.class', 
                archive:'Java2Demo.jar', width:710, height:540}; 
        var parameters = { fontSize:16, jnlp_href:'java2d.jnlp' }; 
        var version = '1.6' ; 
        deployJava.runApplet(attributes, parameters, version);      
    &lt;/script&gt;

    ```

如果某些部署选项在属性名称 - 值对和 JNLP 文件中具有不同的值，则以下准则很有用：

*   指定`width`和`height`作为属性名称 - 值对（不在 JNLP 文件中）。
*   指定`image`和`boxbgcolor`等参数作为参数名称 - 值对（不在 JNLP 文件中）。在 applet 启动过程的早期需要这些参数。
*   在 JNLP 文件中，将`codebase`属性保留为空或指定绝对 URL。当`codebase`属性保留为空时，它默认为包含 JNLP 文件的目录。
*   如果使用 JNLP 文件启动 applet，则`code`，`codebase`和`archive`属性的值将从 JNLP 文件中获取。如果这些属性也作为属性名称 - 值对单独指定，则忽略属性名称 - 值对。

在浏览器中打开 [``DeployUsingNameValuePairsAndJNLP.html``](examples/dist/depltoolkit_Java2Demo/DeployUsingNameValuePairsAndJNLP.html)以查看 Java2D 小程序。

* * *

**Note:**  If you don't see the applet running, you need to install at least the [Java SE Development Kit (JDK) 7](http://www.oracle.com/technetwork/java/javase/downloads/index.html) release.

* * *

[下载 _ 运行小程序 _ 示例的源代码](examplesIndex.html#runApplet)以进一步试验。