| 本教程介绍了如何将 Java Studio Creator 集成开发环境 (integrated development environment, IDE) 中开发的 Web 应用程序部署到独立的 Sun Java System Application Server 中。您将使用 IDE 为应用程序创建 WAR 文件、在应用服务器中配置设置,然后将 WAR 文件部署到独立的 Sun Java System Application Server 实例上。
|
|
目录
|
![[spacer]](/im/a.gif) |
 |
开始之前
要完成本教程,您必须具有访问独立的 Sun Java System Application Server 的权限,并且还需要熟悉应用服务器技术。如果您不熟悉 Sun Java System Application Server,请在学习本教程之前 下载并安装它,同时阅读其文档。请确保下载并安装 Sun Java System Application Server Enterprise Edition 平台或 Standard Edition 平台(与 Sun JDBC 驱动程序捆绑在一起)的最新可用版本。对于 Enterprise Edition 平台或 Standard Edition 平台,要求的最低版本为 8.1_02 b12。您可以通过执行以下操作,从 SunSolve 获取 Sun Java System Application Server 的最新修补程序:单击 "Patches and Updates"(修补程序和更新),然后搜索相应的修补程序编号。
- Solaris 操作系统(SPARC 平台)- 119169
- Solaris 操作系统(x86 平台)- 119170
- Linux - 119171
- Microsoft Windows - 119172
独立应用服务器的文档安装在 Appserver-install-dir/docs/about.html 中,其中 Appserver-install-dir 是安装独立应用服务器的位置。本教程是基于 Sun Java System Application Server Enterprise Edition 8.1_02 b12 编写的。
将应用程序部署到独立的 Sun Java System Application Server 实例之前,您必须首先确保该应用程序已成功部署到与 IDE 捆绑在一起的部署容器 - Sun Java System Application Server Platform Edition 中。如果应用程序使用的 JDBC 数据源未包含在所安装的独立 Sun Java System Application Server 中,则需要在部署该应用程序之前将对应的数据库驱动程序集成到独立的应用服务器中。
导出 WAR 文件
在 IDE 中成功地部署 Web 应用程序后,创建该应用程序的 Web 应用程序归档 (Web Application Archive, WAR) 文件,这样您就可以将它部署到独立的 Sun Java System Application Server。WAR 文件包含压缩格式的完整 Web 应用程序。
- 在 IDE 中打开项目。
- 在“项目”窗口中,右键单击项目名称,然后选择“导出 WAR 文件”。
- 在“导出 WAR”对话框中,选择 "J2EE 1.4" 选项。
- 输入要将 WAR 文件导出到的位置。
- 单击“确定”。
集成 JDBC 驱动程序
JAR 文件用于支持应用程序所使用的数据库驱动程序,它们应当安装在 AppServer_install_dir/lib/jdbcdrivers 目录中。如果尚未安装,请使用以下步骤将它们与所安装的独立 Sun Java System Application Server 集成在一起。
- 如果您要使用的数据库连接属性与在 IDE 中进行应用程序开发时所用的属性相同,请将以下文件从 Java Studio Creator 的安装目录复制到 AppServer_install_dir/
lib/jdbcdrivers 目录中。
- Creator_install_dir
/rave2.0/startup/samples/driveradapter.jar
jdbcdrivers 目录中的其他文件用于支持捆绑的 Sun JDBC 驱动程序,并且它们也与 IDE 捆绑在一起。当您安装 Sun Java System Application Server Enterprise Edition 平台或 Standard Edition 平台时,这些文件将被自动安装在 AppServer_install_dir/lib/jdbcdrivers 目录中。
- 如果您使用除 Sun JDBC 驱动程序之外的数据库驱动程序(例如 OEM 提供的驱动程序),请将特定于驱动程序的文件复制到 AppServer_install_dir
/lib/jdbcdrivers 目录中。 有关支持的数据库服务器和 JDBC 驱动程序的信息,请参见 IDE 的“系统要求”页。您还可以查看标题为任何 JDBC 驱动程序都可以与 Java Studio Creator 配合使用吗?的常见问题解答以了解详细信息。
- 如果必须使用前面介绍的步骤来添加任何数据库驱动程序文件,请重新启动独立的服务器实例。
配置 JDBC 连接池
接下来,将创建一个 JDBC 连接池,并定义数据库连接的特性。
- 在管理控制台的左窗格中,展开“资源”> "JDBC",然后选择“连接池”。
- 在“连接池”页中,单击“新建”以创建新的连接池。
- 在“创建连接池”向导的“名称”字段中,输入连接池的名称。
输入您选择的任何名称。在下一部分中配置 JDBC 资源时,您将引用此名称。
- 为所用的数据库驱动程序选择相应的资源类型和数据库供应商。
如果使用的是 IDE 的 driveradapter.jar 文件,请选择 javax.sql.DataSource 作为资源类型,并将“数据库供应商”字段保留为空。
- 单击“下一步”。
- 在“创建连接池”向导的下一页中,在“数据源类名称”字段中输入名称。
如果使用的是 IDE 的 driveradapter.jar 文件,请键入 com.sun.sql.datasource.DriverAdapter 作为类名。如果使用的是第三方数据源,请输入其驱动程序名作为类名。图 1 显示了 MySQL 驱动程序的类名。
图 1:“创建连接池”向导的第二页 |
- 单击“下一步”。
- 在“创建连接池”向导的第三页上,在“属性”部分中指定连接池的属性。
如果使用的是 IDE 的 driveradapter.jar 文件,请指定下表中所示的属性和值。请确保按照本教程所示来使用大小写。如果使用的是其他驱动程序,请查阅该驱动程序的文档,以了解正确的属性和值。
 |
url |
指定连接池的 URL,它与如下所示类似。
DB2: jdbc:sun:db2://#HOSTNAME:50000;DatabaseName=#DATABASE Oracle: jdbc:sun:oracle://#HOSTNAME:1521;SID=#DATABASE Microsoft SQL Server: jdbc:sun:sqlserver://#HOSTNAME:1433; DatabaseName=#DATABASE;SelectMethod=cursor Sybase: jdbc:sun:sybase://#HOSTNAME:5000; DatabaseName=#DATABASE;SelectMethod=cursor 注意:您可以在 IDE 中找到 Web 应用程序所使用的 URL。方法是:转至“服务器”窗口,展开“部署服务器”>“资源”节点,然后选择 Web 应用程序所用的数据源名称。URL 显示在属性表单中的 DatabaseName 属性下。您需要将 #HOSTNAME 和 #DATABASE 名称修改为应用程序在独立的 Sun Java System Application Server 实例中部署后将使用的值。
|
password |
指定连接池的口令。
|
driverClassName |
指定数据库服务器驱动程序的类名。下面的列表显示了与 IDE 和 Sun Java System Application Server Standard Edition 平台或 Enterprise Edition 平台捆绑在一起的 JDBC 驱动程序的类名。 DB2: com.sun.sql.jdbc.db2.DB2Driver Sybase: com.sun.sql.jdbc.sybase.SybaseDriver Microsoft SQL Server: com.sun.sql.jdbc.sqlserver.SQLServerDriver Oracle: com.sun.sql.jdbc.oracle.OracleDriver
|
username |
指定连接池的用户名。
|
user |
指定连接池的用户名。
|
 |
下图显示了“创建连接池”向导第三页上的“属性”部分。在此示例中,使用“添加属性”按钮添加了 "user" 属性。
图 2:“创建连接池”向导的第三页 |
- 单击“完成”。
配置 JDBC 资源
您必须创建一个 JDBC 资源,以便让部署后的应用程序能够通过它连接到所使用的数据库。
- 在管理控制台的左窗格中,展开“资源”> "JDBC",然后选择“JDBC 资源”。
“资源”> "JDBC" >“JDBC 资源”页将在右窗格中打开。
- 单击“新建”。
用于创建新 JDBC 资源的页将出现在右窗格中。
- 为要创建的资源输入 Java 命名和目录接口 (Java Naming and Directory Interface, JNDI) 名称。
该名称的格式必须是 jdbc/data_source_name。data_source_name 值必须与本教程后面部分中创建的部署描述符文件 (sun-web.xml) 的 <jndi-name> 标记使用的值匹配。
- 从“池名称”下拉列表中选择为数据源创建的池名称。
- 在“目标”部分中,选择服务器实例的名称,然后单击“添加”。
下图显示了“创建 JDBC 资源”页的样例。
图 3:“创建 JDBC 资源”页的样例 |
- 单击“确定”注册新的数据源。
创建 Web 部署描述符文件
您还需要为 Sun Java System Application Server 创建特定于容器的部署描述符文件 sun-web.xml,并将其包装于本教程前面部分导出的 WAR 文件中。sun-web.xml 文件包括基于 XML 的部署描述符,这些描述符用于指定 Web 应用程序配置(包括映射、初始化参数和安全约束)。在下面的步骤中,您将使用与 Sun Java System Application Server 捆绑在一起的部署工具。
- 启动部署工具。
在 Windows 环境中,选择“开始”>“所有程序”> "Sun Microsystems" > "Application Server" > "Deploytool"。在 Solaris 或 Linux 上,运行 AppServer_install_dir/bin/deploytool 脚本。请注意,您也可以使用与 IDE 捆绑在一起的 Sun Java System Application Server PE 所附带的部署工具。
- 在“部署工具”窗口中,选择“文件”>“添加服务器”。
- 在“添加服务器”对话框窗口中,键入独立 Sun Java System Application Server 的服务器名称和服务器端口,如下图所示。
图 4:部署工具的“添加服务器”对话框 |
现在,您添加的服务器将出现在“部署工具”窗口左面板的“服务器”节点下方。
- 单击“文件”>“打开”以打开导出的 WAR 文件(在本教程的前面部分中创建)。
您可以使用文件浏览器找到保存所导出的 WAR 文件的位置。
- 在右面板中,单击“资源引用”标签。
将显示应用程序所引用的资源工厂。
- 选择要使用的资源,然后在窗格底部键入特定于 Sun 的设置。
图 5 显示了一个特定于 Sun 的设置的示例。
图 5:“资源引用”标签化窗格 |
- 单击“文件”>“保存”保存更改。
将创建一个名为 sun-web.xml 的文件,并且该文件将被添加到前面所导出的 WAR 文件中。下面的 sun-web.xml 代码样例显示了为与 IDE 捆绑在一起的 CorporateTravelCenter 样例应用程序所生成的内容。
请注意 <resource-ref> 标记是在此部分的前面步骤中创建的。<res-ref-name> 标记用于指定应用程序使用的数据源值。您需要为应用程序的每个数据源提供一个 <resource-ref> 标记。<jndi-name> 标记用于指定您在本教程的前一部分中所创建的 JDBC 资源的名称。如果应用程序不使用数据源,请删除 <resource-ref> 标记。如果应用程序使用 Enterprise JavaBeans (EJB) 技术,则还需要在 sun-web.xml 文件中包含 <ejb-ref> 声明。
| 代码样例 1:sun-web.xml 代码 |
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Application
Server 8.1 Servlet 2.4//EN"
" http://www.sun.com/software/appserver/dtds/sun-web-app_2_4-1.dtd">
<sun-web-app error-url=""> <context-root>/CorporateTravelCenter</context-root>
<resource-ref> <res-ref-name>jdbc/MySQL_travel</res-ref-name> <jndi-name>jdbc/MySQL_travel</jndi-name> </resource-ref> <class-loader delegate="false"/> <jsp-config> <property name="classdebuginfo" value="true"> <description>Enable debug info compilation in the generated
servlet class
</description> </property> <property name="mappedfile" value="true"> <description>Maintain a one-to-one correspondence between
static content and the generated servlet class' java code
</description> </property> </jsp-config> </sun-web-app>
|
部署 WAR 文件
现在,您可以将已修改的 WAR 文件部署到独立的 Sun Java System Application Server 实例中。下面的步骤将使用部署工具来完成。
- 在“部署工具”窗口中,选择在本教程的前面部分中所创建的 WAR 文件的节点。
- 单击“工具”>“部署”。
- 在“部署模块”窗口中,键入连接独立应用服务器实例(要在其中部署应用程序)时所需的用户名和口令。
- 单击“确定”部署应用程序。
将会出现“发布模块”窗口,并指出有关应用程序部署的状态。如果显示任何错误消息,请纠正这些错误。
- 单击“发布模块”窗口中的“关闭”。
- 使用 URL
http://hostname:portnumber/context_root 验证已部署的应用程序。
hostname 是安装了独立 Sun Java System Application Server 的系统名称。例如,它可能是 localhost。portnumber 是 Sun Java System Application Server HTTP 侦听程序。context_root 是 Web 应用程序相对于服务器基本 URL 的基路径。例如,如果服务器的基本 URL 是 http://localhost,而且上下文根是 apps/myapp,则相对于 http://localhost/apps/myapp 来访问 Web 应用程序的所有组件。
另请参见:
更多的开发者资源
有关为开发者提供的更多教程、文章、提示、论坛、更新和专家建议,请访问 Sun Developer Network (SDN) 上的 Java Studio Creator 开发者资源,网址为 http://gceclub.sun.com.cn/prodtech/javatools/jscreator/。
此页的最新修改时间:2006 年 5 月 12 日
|