为 Java Web Start 准备应用程序客户机运行时依赖关系组件
要启动Java™ Platform, Enterprise Edition( Java EE ) 应用程序客户端应用程序、瘦应用程序客户端应用程序或两者均使用 Java Web Start (JWS),Java 运行时环境实现 Java 存档 (JAR), IBM®提供应用程序客户端中捆绑的库 JAR 文件和属性文件WebSphere® Application Server必须安装在 JWS 中。 您应该了解从应用程序客户机安装中构建与应用程序客户机运行时具有依赖关系的组件的步骤。 它被打包成可安装在应用程序服务器中的 Web 应用程序归档 (WAR) 文件。
准备工作
安装应用程序客户端WebSphere Application Server用于客户端应用程序部署到的操作系统。 如果需要将客户机应用程序部署到多个操作系统,那么必须为客户机应用程序所支持的每个操作系统分别构建与应用程序客户机运行时具有依赖关系的组件。
例如,如果客户端应用程序部署到 Windows 操作系统和Linux®操作系统,按照此任务的步骤为 Windows 操作系统构建应用程序客户端运行时依赖组件,其中应用程序客户端为WebSphere Application Server对于已安装的 Windows。 然后,重复此任务的步骤来构建应用程序客户端运行时依赖组件Linux ,在Linux操作系统,与应用程序客户端WebSphere Application Server为了Linux已安装。
过程
结果
您的 Web 应用程序已准备好为应用程序客户机运行时和 JRE 环境提供服务。
示例
<!-- This sample program applies to WebSphere Application Server, Version 6.1.
It is provided AS IS and may be used, executed, copied and modified
without royalty payment by customer (a) for its own instruction and study, (b) in order
to develop applications designed to run with an IBM WebSphere product, either for customer's
own internal use or for redistribution by customer, as part of such an application, in
customer's own products.
Product 5630-A36, (C) COPYRIGHT International Business Machines Corp., 2005
All Rights Reserved * Licensed Materials - Property of IBM
-->
<%-- // to set the Last_Modified header so that the JNLP client will know whether to download
// the JNLP file again and update the cached copy.
String jspPath = application.getRealPath(request.getServletPath());
java.io.File jspFile = new java.io.File(jspPath);
long lastModified = jspFile.lastModified();
%><%
// locally declared variables
String url=request.getRequestURL().toString();
String jnlpCodeBase=url.substring(0,url.lastIndexOf('/'));
String jnlpRefURL=url.substring(url.lastIndexOf('/')+1,url.length());
// Need to set a JNLP mime type - if WebStart is installed on the client,
// this header will induce the browser to drive the WebStart Client
response.setContentType("application/x-java-jnlp-file"); 1
response.setHeader("Cache-Control", null);
response.setHeader("Set-Cookie", null);
response.setHeader("Vary", null);
response.setDateHeader("Last-Modified", lastModified);
// An installer must reply with the version number for a given install
if (response.containsHeader("x-java-jnlp-version-id"))
response.setHeader("x-java-jnlp-version-id", "WASClient6.1.0"); 2
else
response.addHeader("x-java-jnlp-version-id", "WASClient6.1.0");
%>
<?xml version="1.0" encoding="utf-8"?>
<!-- ============================================================== -->
<!-- TODO: change "codebase" to the actual url location of this jsp -->
<!-- ============================================================== -->
<jnlp spec="1.0+"
codebase="http://YOUR_APP_SERVER:PORTNUMBER/WEBAPP_CONTEXT_ROOT/Runtime/WebSphereJre">
<information>
<title>Application Client Java Runtime Environment</title>
<vendor>IBM</vendor>
<icon href="icon.gif"/>
<description>Application Client Java Runtime Environment</description>
<description kind="short">Application Client JRE</description>
<description kind="tooltip">Application Client JRE</description>
<offline-allowed/>
</information>
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.4+"/><%-- The installer can use any 1.4 JRE --%> 3
<jar href="WebSphereClientRuntimeInstaller.jar" main="true"/> 4
<!-- JRE version registration with Web Start -->
<property name="com.ibm.websphere.client.jre.version" value="WASClient6.1.0"/> 5
</resources>
<resources os="Windows"> 6
<!-- ============================================================== -->
<!-- TODO: the property value for UNIX platform is "java/jre/bin/javaw" -->
<!-- and the "os" value match to your target client machine platform -->
<!-- ============================================================== -->
<jar href="WASClient6.1.0_Windows.jar"/> 7
<!-- ============================================================== -->
<!-- TODO: property value for UNIX platform is "java/jre/bin/javaw" -->
<!-- ============================================================== -->
<!-- relative path of the jre executable —->
<property name="com.ibm.websphere.client.jre.launch.java"
value="java\jre\bin\javaw.exe"/> 8
</resources>
<installer-desc main-class="com.ibm.websphere.client.installer.ClientRuntimeInstaller"/>
</jnlp>
- 指定该文件是 JNLP mime 类型以便浏览器可以处理 JNLP 文件。
- 通过设置 HTTP 头字段
x-java-jnlp-version-id来在响应中指定与该应用程序客户机运行时具有依赖关系的组件的确切版本。 - 指定需要的 JRE 版本以运行安装程序。
- 指定安装程序
WebSphereClientRuntimeInstaller.jar文件,它包含 ClientRuntimeInstaller 类。 - 指定系统属性,此属性定义与应用程序客户机运行时具有依赖关系的组件版本。 此版本注册到 JNLP 客户机。
- 为特定的平台指定资源。 每个受支持的客户机应用程序平台需要自己独立的 JAR 文件。
- 指定与应用程序客户机运行时具有依赖关系的组件 JAR 文件。
- 指定要调用的程序,该程序为客户机应用程序启动 JVM。