blob: 05e81d5723c2b878946fe34d1101a8695f79854c [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
Copyright (c) 2009, 2010, 2011, Oracle and/or its affiliates. All rights reserved.
-->
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta name="description" content="A short guide to enabling Java Web Start for a simple Java SE application in NetBeans IDE">
<meta name="keywords" content="NetBeans, IDE, integrated development environment, Java Web Start, Java
tutorial, guide, user, documentation, open source, Java">
<link rel="stylesheet" type="text/css" href="../../../netbeans.css">
<title>在 NetBeans IDE 中启用 Java Web Start</title>
<style type="text/css">
<!--
.style1 {color: #FF0000}
.style2 {color: #000000}
-->
</style>
</head>
<body>
<h1>在 NetBeans IDE 中启用 Java Web Start</h1>
<p>按照本教程中的步骤进行操作,您将学习如何配置应用程序以使其可以使用 Java Web Start 进行部署。Java Web Start 是一项通过单击从 Web 浏览器运行 Java 应用程序的技术。简而言之,Java Web Start 就是另外一种部署 Java 应用程序的方法。 </p>
<p>在本教程中,将使用一个简单的 Java 应用程序,这是一个转换器,可在公制和美制单位间转换距离测量值。此样例应用程序的代码可供您下载,您需要配置项目设置才能使用 Java Web Start 启动该应用程序。您可以使用任何可用的远程 Web 服务器来上载应用程序文件。</p>
<p>学完本教程大约需要 <span class="style2">20</span> 分钟。 </p>
<p><b>目录</b></p>
<img alt="此页上的内容适用于 NetBeans IDE 6.9、7.0、7.1、7.2 和 7.3" class="stamp" src="../../../images_www/articles/71/netbeans-stamp-71-72-73.png" title="此页上的内容适用于 NetBeans IDE 6.9、7.0、7.1 和 7.3">
<ul class="toc">
<li><a href="#openproject" title="项目设置">打开项目</a></li>
<li><a href="#configure" title="创建和编辑 Java 源代码">配置项目以启用 Java Web Start</a></li>
<li><a href="#runremote">从远程位置运行应用程序</a></li>
<li><a href="#summary" title="测试和调试应用程序">小结</a></li>
<li><a href="#seealso" title="后续步骤">另请参见</a></li>
</ul>
<p><b>要学完本教程,您需要具备下表所列的软件和资源。</b></p>
<table>
<tbody>
<tr>
<th width="165" class="tblheader" scope="col">软件或资源</th>
<th width="142" class="tblheader" scope="col">要求的版本</th>
</tr>
<tr>
<td class="tbltd1"><a href="http://download.netbeans.org/">NetBeans IDE</a></td>
<td class="tbltd1">6.9, 7.0, 7.1, 7.2, 7.3 </td>
</tr>
<tr>
<td class="tbltd1"><a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">Java 开发工具包 (JDK)</a></td>
<td class="tbltd1"> 6 或 7 </td>
</tr>
<tr>
<td class="tbltd1"><a href="https://netbeans.org/projects/samples/downloads/download/Samples%252FJava%252FConverterPrj.zip">转换器 zip 档案文件</a></td>
<td class="tbltd1">N/A</td>
</tr>
</tbody>
</table>
<h2>打开项目<a id="openproject" name="openproject"></a></h2>
<p>您需要先在 IDE 中打开转换器应用程序。该应用程序已打包为 NetBeans IDE 项目,因此,您只需在 IDE 中打开该项目即可。 </p>
<p>该转换器演示的源代码最初是在 Java 教程中提供的。要了解如何编写该小型应用程序,请参见 Java 教程的<a href="http://java.sun.com/docs/books/tutorial/uiswing/examples/components/index.html" target="_blank">使用 Swing 组件</a>部分。在本教程中,您将学习如何配置项目设置,以便在 Web 浏览器中启动此 Java 应用程序。 </p>
<ol>
<li>下载<a href="https://netbeans.org/projects/samples/downloads/download/Samples%252FJava%252FConverterPrj.zip" target="_blank">转换器演示应用程序 zip 档案文件</a></li>
<li>将该档案文件解压缩到系统上的某个位置。</li>
<li>在 IDE 的主菜单中,选择 "File"(文件)> "Open Project"(打开项目)。<br> <tt>ConverterPrj</tt> 项目在 "Projects"(项目)窗口中打开。您可以展开该项目的节点以查看源文件。 </li>
</ol>
<p class="align-center"><img alt="显示 ConverterPrj 内容的图像。" class="margin-around" src="../../../images_www/articles/71/java/javaws/converterprj.png"></p>
<!-- =============================================================================== -->
<h2><a name="configure"></a>配置项目以启用 Java Web Start</h2>
<p>使用 Java Web Start,用户可以通过在 Web 浏览器中单击指向 Java 应用程序的 <tt>JNLP</tt> 文件的 HTML 链接,启动该应用程序。<tt>JNLP</tt> 文件是一个特殊的配置文件,可指示 Java Web Start 下载、缓存并运行 Java 应用程序。要使用 Java Web Start 运行应用程序,客户端计算机上安装有兼容版本的 Java 运行时环境 (JRE) 即可满足要求。无需安装 Java 开发工具包 (JDK)。 </p>
<p>要使 Java 应用程序能够使用 Java Web Start 运行,您需要配置 IDE 应如何构建项目的属性。在项目属性中启用 Java Web Start 后,IDE 将自动创建一个 <tt>JNLP</tt> 文件和一个 HTML 页(其中包含指向 <tt>JNLP</tt> 文件的链接)以及 JAR 文件。 </p>
<div class="indent">
<h3 class="tutorial">配置项目以启用 Java Web Start </h3>
<p>在本练习中,将对项目进行配置,使其启用 Java Web Start,然后在本地测试其执行情况。 </p>
<ol>
<li>右键单击 <tt>ConverterPrj</tt> 项目节点,然后选择 "Properties"(属性)。 </li>
<li>在 "Categories"(类别)下,选择 "Web Start",然后选中 "Enable Web Start"(启用 Web Start)复选框。 </li>
<li>初次在本地运行该应用程序时,从 "Codebase"(代码库)下拉列表中选择 "Local Execution"(本地执行)选项。<br> "Codebase Preview"(代码库预览)字段显示了本地应用程序文件的路径。 </li>
<li>单击 "Customize"(定制),以打开 "Signing"(签名)对话框。选择 <tt>self-sign by generated key</tt>(使用生成的密钥自签名)选项。<br> 构建项目时自动构建的证书将对应用程序 JAR 文件进行签名。使用自签名的证书,应用程序可以访问本地运行的常规应用程序所能够访问的计算机资源。例如,自签名的证书使应用程序可以访问本地文件和网络。 </li>
<li>使 "Mixed Code"(混合代码)下拉列表中的 "Enable Software Protections"(启用软件保护)保持选中状态,然后单击 "OK"(确定)。</li>
<li>(可选)在 "Project Properties"(项目属性)对话框中,选择 "Application"(应用程序)面板,然后更改应用程序标题和供应商名称。 </li>
<li>单击“确定”。关闭“项目属性”对话框。 </li>
</ol>
<p class="align-center">
<a href="../../../images_www/articles/71/java/javaws/prjproperties.png" rel="lytebox" title="显示 ConverterPrj 属性的图像。"> <img alt="显示 ConverterPrj 属性的图像。" border="1" src="../../../images_www/articles/71/java/javaws/prjproperties-small.png"></a></p>
<h3>在 IDE 中编译并运行 Java Web Start 应用程序 </h3>
<p><strong>编译并运行应用程序以在本地测试 Java Web Start:</strong></p>
<ol>
<li>在 "Projects"(项目)窗口中选择 <tt>ConverterPrj</tt> 项目节点,然后在主菜单中选择 "Run"(运行)> "Set Main Project"(设置为主项目)> "ConverterPrj"。 </li>
<li>选择 "Run"(运行)> "Run Main Project"(运行主项目),或者按 F6 键。<br>IDE 将对源代码进行编译,并且您应该看到表明 Java 正在启动的闪屏,以及询问您是否可以执行已签名应用程序的警告窗口。 <p class="align-center">
<a href="../../../images_www/articles/71/java/javaws/warning.png" rel="lytebox" title="警告"> <img alt="警告" border="1" src="../../../images_www/articles/71/java/javaws/warning-small.png"></a></p> </li>
<li>在警告窗口中选中信任其内容的复选框,然后单击 "Run"(运行)。<br> 将启动转换器应用程序。 <p><img alt="显示转换器应用程序的图像。" class="margin-around" src="../../../images_www/articles/71/java/javaws/converterapp.png"></p> </li>
</ol>
<h3 class="tutorial">了解 Java Web Start 文件</h3>
<p>现在,让我们详细了解一下构建过程中由 IDE 创建的 Java Web Start 文件("Run"(运行)> "Build Project"(构建项目))。 </p>
<p>要查看这些文件,请在 IDE 中打开 "Files"(文件)窗口,然后展开 <tt>dist</tt> 文件夹。</p>
<p class="align-center"><img alt="显示为转换器应用程序创建的文件的图像。" class="margin-around" src="../../../images_www/articles/71/java/javaws/converterfiles.png"></p>
<p> 对于 Java Web Start,创建了以下两个附加文件: </p>
<ul>
<li><tt>launch.jnlp</tt> - 这是一个 XML 文件,其中包含一些特殊的元素和属性,用于指示浏览器如何运行应用程序。<tt>JNLP</tt> 表示 Java Network Launching Protocol(Java 网络启动协议)。<tt>JNLP</tt> 文件的属性可以包含 <tt>JNLP</tt> 规范版本、应用程序标题、供应商名称以及指向应用程序 JAR 文件的链接等。 </li>
<li><tt>launch.html</tt> - 这是一个自动生成的 HTML 页,其中包含指向 <tt>JNLP</tt> 文件的链接。用户单击此链接可通过 Java Web Start 启动应用程序。生成的此 HTML 文件还包含对广泛可用的 Java 部署工具包 (<a href="http://java.com/js/deployJava.js" target="_blank">deployJava.js</a>) 的已注释引用,该工具包提供了 JavaScript 函数以避免出现浏览器兼容性问题。在此处可找到有关 <a href="http://download.oracle.com/javase/6/docs/technotes/guides/jweb/deployment_advice.html#deplToolkit" target="_blank">Java 部署工具包</a>的详细信息。<br> <br> 您可以尝试执行以下操作:在 IDE 外部,导航至系统中的 <tt>launch.html</tt> 文件,在浏览器中打开该文件,然后单击其中包含的链接以启动转换器演示应用程序。 </li>
</ul>
</div>
<h2><a id="runremote" name="runremote"></a>从远程位置运行应用程序</h2>
<p>在验证可成功使用 Java Web Start 从本地源启动应用程序后,让我们将其上载到远程位置并从该远程位置启动应用程序。</p>
<p class="notes"><b>注:</b>为了使用 Java Web Start 在 Web 上部署应用程序,您所用的 Web 服务器应当能够处理 <tt>JNLP</tt> 文件。必须将 Web 服务器配置为将 <tt>JNLP</tt> 文件识别为应用程序,即,应将 <tt>JNLP</tt> 的 MIME 类型添加到 Web 服务器的配置中。否则,扩展名为 <tt>JNLP</tt> 的文件将被识别为普通的文本文件。有关 Web 服务器配置的详细信息,请参见 <a href="http://docs.oracle.com/javase/6/docs/technotes/guides/javaws/developersguide/setup.html" target="_blank">Java Web Start 指南</a></p>
<div class="indent">
<h3 class="tutorial">修改 JNLP 文件</h3>
<p>要从 Web 启动应用程序,您需要在 <tt>JNLP</tt> 文件中提供指向 Web 上应用程序源文件的链接。 </p>
<ol>
<li>右键单击 <tt>ConverterPrj</tt> 项目节点,选择 "Properties"(属性),然后在 "Categories"(类别)下选择 "Web Start"。 </li>
<li>选择 "User Defined"(用户定义的)作为代码库。</li>
<li>在 "Codebase Preview"(代码库预览)字段中,输入要将源文件上载到的 URL。<br> 例如,<tt>http://mydomain.com/myuser/converter/</tt></li>
<li>在 "Project Properties"(项目属性)窗口中单击 "OK"(确定)。</li>
<li>右键单击 <tt>ConverterPrj</tt> 节点,然后选择 "Clean and Build"(清理并构建)。<br> 此 IDE 命令将删除所有先前编译的文件和构建输出,重新编译应用程序,然后使用当前设置构建输出文件。 </li>
</ol>
<h3 class="tutorial">上载源文件 </h3>
<p>现在,我们要将源文件上载到服务器,然后从该服务器运行应用程序。请注意,此部分中引用的所有用户凭证和项目名称均应替换为您的个人数据。 </p>
<ol>
<li>登录至 Web 服务器,然后导航至项目的下载区域。<br> 在我们的案例中,项目标题为 "NetBeans IDE Documentation Area"</li>
<li>将以下本地文件从项目的 <tt>dist</tt> 文件夹上载到项目的目录:<tt>ConverterPrj.jar</tt><tt>launch.html</tt><tt>launch.jnlp</tt>
<p>下图显示了 "NetBeans IDE Documentation Area" 项目的下载区域。 </p>
<p class="align-center">
<a href="../../../images_www/articles/71/java/javaws/download.png" rel="lytebox" title="显示 NetBeans IDE Documentation 项目下载区域的图像"> <img alt="显示 NetBeans IDE Documentation 项目下载区域的图像" border="1" src="../../../images_www/articles/71/java/javaws/download-small.png"></a></p></li>
<li>现在,运行应用程序。在浏览器窗口中,输入 <tt>launch.html</tt> 文件的 URL,然后单击 "Launch the application"(启动应用程序)链接。
<p>将使用 Java Web Start 启动转换器应用程序。</p> </li>
</ol>
</div>
<h2><a name="summary"></a>小结</h2>
<p>在本简短教程中,我们介绍了如何轻松地使用 NetBeans IDE 使 Java 应用程序可在 Web 上部署。这只是其中一种部署 Java 应用程序的方法。 </p>
<div class="indent"></div>
<!--<br>-->
<div class="feedback-box"><a href="/about/contact_form.html?to=3&amp;subject=Feedback:%20Enabling%20Java%20Web%20Start%20in%20the%20NetBeans%20IDE">发送有关此教程的反馈意见</a></div>
<br style="clear:both;" >
<h2><a id="seealso" name="seealso"></a>另请参见 </h2>
<p>有关使用 Java Web Start 的更多信息,请参见以下资源: </p>
<ul>
<li><a href="http://download.oracle.com/javase/6/docs/technotes/guides/javaws/developersguide/contents.html" target="_blank">Java Web Start 指南</a> - 使用 Java Web Start 技术的指南 </li>
<li>Java 教程中的<a href="http://download.oracle.com/javase/tutorial/deployment/webstart/index.html">课程:Java Web Start</a> - 一些实用练习,介绍如何使应用程序启用 Java Web Start </li>
</ul>
</body>
</html>