跳至内容 Java Solaris 社区 Sun 商店 加入 SDN 我的个人档案 加入的益处
 
部署到 Sun Java System Web Server 6.1
2006 年 5 月 [修订号:V2.1-1]  
本教程介绍了如何将使用 Web 服务或数据源的 Sun Java Studio Creator Web 应用程序部署到独立的 Sun Java System Web Server 6.1 中。由于开发者并非总是具有直接访问产品 Web 服务器的权限,因此本教程介绍了等同于 IDE 的“部署到远程服务器”功能的手动操作。在此独立的模型中,首先应确保已成功部署了应用程序,然后通过 IDE 导出 WAR 文件、手动添加部署描述符文件,并重新组合 WAR 文件。
 
本教程向您介绍了 JVM 和 JDBC 设置,它们是在 Sun Java System Web Server 6.1 上正常运行使用 Web 服务和数据源的应用程序所必需的设置。要完成本教程,您必须具有访问独立的 Sun Java System Web Server 6.1 的权限,并且还需要熟悉 Web 服务器技术。有关 Web 服务器的信息,请参见 WebServer-install-dir/manual/https/index.html。本教程是基于 Sun Java System Web Server 6.1 SP 5 编写的。
 
 
目录
 
导出 WAR 文件
配置 Web 服务器
集成 Web 服务所需的 JAR 文件
集成数据源所需的 JAR 文件
配置 JVM 的类路径设置
配置 JDBC 连接池和资源
创建 Web 部署描述符文件
部署 WAR 文件
[spacer] 此页上的内容适用于 Sun Java Studio Creator 2
 

导出 WAR 文件

 
在 IDE 中成功地部署 Web 应用程序后,创建一个 Web 应用程序归档 (Web Application Archive, WAR) 文件,这样您就可以将它部署到独立的 Sun Java System Web Server 6.1 中。WAR 文件包含压缩格式的完整 Web 应用程序。
  1. 在 IDE 中打开项目。

  2. 在“项目”窗口中,右键单击项目名称,然后选择“导出 WAR 文件”。

  3. 在“导出 WAR”对话框中,选择 "J2EE 1.3" 选项,并输入要将 WAR 文件导出到的位置,如下图所示。
     
    图 1:“导出 WAR”对话框
    图 1:“导出 WAR”对话框
     
  4. 单击“确定”。
 

配置 Web 服务器

 
如果要部署到远程计算机上,并且 WAR 文件的大小超过了 10 MB,则必须增加 maxUploadSize 属性的值。通常,含有 Web 服务或 EJB JAR 文件的应用程序会出现这种情况。如果您收到错误 "Posted content length .. exceeds limit"(传输的内容长度..超出限制),请按照以下方法增加 maxUploadSize 属性的值:
  1. WebServer-install-dir/bin/https/webapps/admin-app/WEB-INF/web.xml 中,添加以下 <init-param> 代码:
     
    代码样例 1:用于增加 maxUploadSize 属性值的代码
    <servlet-name>webappdeploy</servlet-name>
    <servlet-class>com.sun.web.admin.servlets.DeployServlet</servlet-class>
        <init-param>
          <param-name>maxUploadSize</param-name>
          <param-value>20000000>/param-value>
        </init-param>
    
     
  2. 重新启动服务器。
 

集成 Web 服务所需的 JAR 文件

 
支持应用程序使用 Web 服务的 JAR 文件必须安装在 Webserver_install_dir/bin/https/jar 目录中。如果尚未安装这些 JAR 文件,请通过执行以下操作将其与安装的 Sun Java System Web Server 6.1 集成。
  • Creator_install_dir/SunAppServer8/lib 中的 dom.jarxercesImpl.jar 复制到 Webserver_install_dir/bin/https/jar 目录中。
 

集成数据源所需的 JAR 文件

 
支持应用程序使用数据源的 JAR 文件必须安装在 Webserver_install_dir/bin/https/jar 目录中。这些文件包括 driverAdapter 以及 JDBC 数据源。如果尚未安装这些 JAR 文件,请通过执行以下步骤将其与安装的 Sun Java System Web Server 6.1 集成。
  1. Creator_install_dir/SunAppServer8/lib/driveradapter.jar 复制到 webServer_install_dir/bin/https/jar 目录中。

  2. 将特定于驱动程序的文件复制到 WebServer_install_dir/bin/https/jar 目录中。

    您不能使用 Sun Java System JDBC 驱动程序,因为它们无法在 Sun Java System Web Server 6.1 中使用。但是,您可以使用除 Sun JDBC 驱动程序之外的数据库驱动程序,例如 OEM 提供的驱动程序。
有关支持的数据库服务器和 JDBC 驱动程序的信息,请参见安装和发行说明中 IDE 的系统要求。如需了解详细信息,请阅读有关数据库访问的问题页中“任何 JDBC 驱动程序都可以与 Java Studio Creator 配合使用吗?”的常见问题解答。
 

配置 JVM 的类路径设置

  1. 启动 Sun Java System Web Server(如果尚未运行)。

  2. 在浏览器中,打开 Sun Java System Web Server 6.1 的管理控制台。该 Web 服务器的缺省 URL 为 http://localhost:8888

    您所看到的第一页是 "Manage Servers" 页,通过该页可以设置基本的服务器配置,如下图所示。
     
    图 2:管理控制台 - "Servers" 标签
    图 2:管理控制台 - "Servers" 标签
     
  3. 从下拉列表中选择一个服务器实例。

  4. 单击 "Manage"。

    "Servers On/Off" 页将显示服务器的当前状态。

  5. 如有必要,请打开服务器。

  6. 单击 "Java" 标签。

  7. 单击左列中的 "JVM Path Settings"。

  8. 如果应用程序使用 Web 服务,请在 "Classpath Suffix" 字段中输入以下内容(使用特定于操作系统的路径分隔符并且不能出现换行符):
    WebServer_install_dir/bin/https/jar/dom.jar
    WebServer_install_dir/bin/https/jar/xercesImpl.jar
    
    例如,在 Solaris 系统上,请输入:
    /opt/SUNWwbsvr/bin/https/jar/dom.jar:/opt/SUNWwbsvr/bin/https/jar/xercesImpl.jar
    
    注意:您可以在文件 WebServer-install-dir/https-name-of-webserver-instance/config/server.xml 中找到类路径后缀设置。

  9. 如果应用程序访问数据库,请在 "Classpath Suffix" 字段中输入以下内容(使用特定于操作系统的路径分隔符并且不能出现换行符):
    WebServer_install_dir/bin/https/jar/driveradapter.jar
    WebServer_install_dir/bin/https/jar/yourdatabasedriver.jar
    
    其中,yourdatabasedriver.jar 是特定于驱动程序的文件,您在本教程中的前面部分将该文件复制到了 Web 服务器的安装目录中。

  10. 在 "JVM Path Settings" 标签中单击 "OK"。

  11. 单击位于管理控制台右上角的 "Apply" 按钮,然后单击 "Apply Changes" 按钮。
 

配置 JDBC 连接池和资源

 
如果应用程序访问数据库,则必须创建 JDBC 连接池并定义数据库连接的特性。此外,还必须创建 JDBC 资源,以使部署后的应用程序能够连接到它将使用的数据库。如果应用程序不访问数据库,请跳过部署 WAR 文件部分。
  1. 在 "Java" 标签的左面板中,单击 "JDBC Connection Pools"。

    将打开 "JDBC Connection Pools" 页。

  2. 单击 "New",转至 "New JDBC Connection Pool" 页。

  3. 从 "Database Vendor" 下拉列表中选择要连接的数据库的类型。

  4. 单击 "Next"。

    将打开 "Add New JDBC Connection Pool" 页。下图显示了包含样例数据的页面。
     
    图 3:添加新的 JDBC 连接池
    图 3:添加新的 JDBC 连接池
     
  5. 在 "Pool Name" 字段中,输入连接池的名称。

    您可以输入任何选择的名称。在下一部分中配置 JDBC 资源时,您将引用此名称。

  6. 在 "DataSource Classname" 字段中输入名称。

    对于 Java Studio Creator IDE 的 driveradapter.jar 文件,请输入 com.sun.sql.datasource.DriverAdapter

  7. 指定连接池的属性。

    对于 IDE 的 driveradapter.jar 文件,请指定下表中所示的属性和值。请确保按照本教程所示来使用大小写。如果使用的是其他驱动程序,请查阅该驱动程序的文档,以了解正确的属性和值。
     
    属性
    driverClassName
    指定数据库服务器驱动程序的类名。例如,MySQL 数据库的类名为 com.mysql.jdbc.Driver

    在 Java Studio Creator IDE 的“服务器”窗口中,展开“数据源”节点以引用添加的数据源,然后右键单击数据源并选择“修改数据源”,此时可以查看“驱动程序类”文本字段。或者,通过展开“部署服务器”>“资源”节点,接着选择 Web 应用程序使用的数据源名称,然后右键单击该名称并选择“属性”,这样便可以从其所有的属性中找到 driverClassName 属性。

    url
    指定连接池的 URL。对于 MySQL,URL 为 jdbc:mysql://#HOSTNAME/#DATABASE

    您可以在 IDE 中找到 Web 应用程序所使用的 URL。URL 显示在“修改数据属性”窗口中 DatabaseName 属性下的“数据库 URL”字段中,或者如上所述查看所有属性以找到 url 属性。

    Username
    指定连接池的用户名。引用 IDE 的属性,如上所述。

    Password
    指定连接池的口令。引用 IDE 的属性,如上所述。

    User
    指定与 Username 属性相同的值。

     
  8. 单击该页中的 "OK"。

  9. 在 "Java" 标签的左列中,单击 "JDBC Resources"。

    将打开 "JDBC Resources" 页。

  10. 单击 "New" 以打开 "JDBC New Resource" 页。

  11. 输入 JNDI 名称,应用程序组件需要使用该名称来访问 JDBC 资源。

    该名称的格式必须是 jdbc/data_source_name,其中 data_source_name 是 Java Studio Creator 项目中使用的数据源名称。随后当您创建特定于容器的部署描述符文件 (sun-web.xml) 以连接应用程序与数据源时,将使用此名称。

  12. 从 "Pool Name" 下拉列表中选择为数据源创建的池名称。

    下图显示了 "JDBC New Resource" 页的样例。
     
    图 4:新建 JDBC 资源
    图 4:新建 JDBC 资源
     
  13. 单击 "OK" 以注册新的数据源。

  14. 单击位于右上角的 "Apply" 按钮,然后单击 "Apply Changes"。
 

创建 Web 部署描述符文件

 
接下来,将为 Sun Java System Web Server 6.1 创建特定于容器的部署描述符文件 sun-web.xml,并将其包装在本教程前面导出的 WAR 文件中。如果应用程序不访问数据库,请跳过部署 WAR 文件部分。
  1. 在终端窗口中,转至第一部分中保存 WAR 文件的目录。创建一个名为 WEB-INF 的子目录。

  2. 创建一个名为 sun-web.xml 的文件,并将该文件保存到 WEB-INF 子目录中。代码样例 2 提供了名为 datasource1app 的项目的 sun-web.xml 文件样例。您可以复制此文件,并进行以下编辑:

    • 使用特定于应用程序的信息更新 <context-root> 标记。
    • 为应用程序的每个数据源提供 <resource-ref> 标记。如果应用程序不使用数据源,请删除 <resource-ref> 标记。
    • 确保 <res-ref-name> 标记指定应用程序使用的数据源值。
    • 确保 <jndi-name> 标记指定您在本教程的前一部分中所创建的 JDBC 资源的名称。
    • 如果应用程序使用 Enterprise JavaBeans (EJB) 技术,请在 sun-web.xml 文件中包含 <ejb-ref> 声明。
     
    代码样例 2:sun-web.xml 代码
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.
    //DTD Sun ONE Application Server 7.0 Servlet 2.3//EN"
    "http://www.sun.com/software/sunone/appserver/dtds/sun-web-app_2_3-1.dtd">
    <sun-web-app>
      <resource-ref>
        <res-ref-name>jdbc/datasource1</res-ref-name>
        <jndi-name>jdbc/datasource1</jndi-name>
      </resource-ref>
    <sun-web-app>
    <
     
    注意:在以上样例中,DOCTYPE 行由于空间的限制而被分为三行显示。在您所创建的文件中,请务必将 DOCTYPE 信息包含在一行中。

  3. 在终端窗口中,返回到包含 WAR 文件的目录,并使用以下命令更新该目录,使其包含 sun-web.xml 文件:
    jar uvf warfilename.war WEB-INF/sun-web.xml
    注意:此命令要求 JAVA_HOME/bin 位于 PATH 变量中。
 

部署 WAR 文件

 
现在,您可以将已修改的 WAR 文件部署到独立的 Sun Java System Web Server 6.1 实例中了。
  1. 返回到 Web 服务器的管理服务器,然后单击 "Virtual Server Class" 标签。

  2. 从 "Select a Class" 下拉列表中选择一个类,然后单击 "Manage"。

  3. 从 "Select a Virtual Server" 下拉列表中选择服务器,然后单击 "Manage"。

    "Status" 页将列出有关虚拟服务器的信息。要编辑设置,必须转至 "Settings" 页上的 "Preferences" 标签。

  4. 单击 "Web Applications" 标签。

  5. 在相应的字段中输入 WAR 文件的路径以及应用程序 URI,如下图所示。
     
    图 5:部署 Web 应用程序
    图 5:部署 Web 应用程序
     
  6. 单击 "OK" 以部署应用程序。将出现一条消息,指示您必须应用更改。

  7. 单击位于右上角的 "Apply",然后单击 "Apply Changes"。

  8. 使用 URL http://hostname:port_number/context_root 验证已部署的应用程序。

    hostname 是安装了独立的 Sun Java System Web Server 的系统名称。例如,它可能是 localhostport_number 是运行服务器的端口。context_root 是 Web 应用程序相对于服务器基本 URL 的基路径。

    例如,如果服务器的基本 URL 是 http://localhost,端口是 80,而且上下文根是 /datasource1app,则可以通过 http://localhost:80/datasource1app 来访问 Web 应用程序的所有组件。
 
另请参见
 
更多的开发者资源
 
有关为开发者提供的更多教程、文章、提示、论坛、更新和专家建议,请访问 Sun Developer Network (SDN) 上的 Java Studio Creator 开发者资源,网址为 http://gceclub.sun.com.cn/prodtech/javatools/jscreator/。
 

 
此页的最新修改时间:2006 年 5 月 12 日