UML软件工程组织

介绍 Rational Application Developer快速建立J2EE应用程序
来源:IBM 作者:Kunal Mittal

Rational Application Developer 是IBM WebSphere Studio Application Developer的替代产品。本文介绍了 Rational Application Developer,并说明了它是如何简化 Java 2企业版(J2EE)的开发的。它还说明了如何建立一个Java类和一个简单的基于Struts的J2EE应用程序。后续的文章将会更详细地介绍这篇导论文章中涉及到的内容。

简言之,Rational Application Developer 是WebSphere Studio Application Developer的替代产品。IBM在Eclipse之上建立了WebSphere Studio Application Developer——一个开发公开的、可扩展的集成开发环境(IDE)的公开源码项目——并将其按照WebSphere上J2EE的开发进行了特别定制。在Rational家族产品被收购的情况下,IBM现在扩展了WebSphere Studio Application Developer以及Rational 产品家族来包含一组完全集成的产品,即IBM® Rational®软件开发平台,它允许开发者和项目团队在整个项目生存周期中进行协作。

Rational Application Developer有哪些新特性?

那么,WebSphere Studio Application Developer已经“死”了吗?不是这样的。所有WebSphere Studio Application Developer的特性,比如对WebSphere平台的扩展支持,都仍然是Rational Application Developer的一部分。Rational Application Developer是一个全面的IDE,它使你能够快速设计、开发、分析、测试、概要分析和部署Web、Web 服务、门户、Java和Java 2 平台企业版(J2EE)应用程序。它为你提供了全面的静态代码可视化工具并且能够支持多提供商运行时环境,但它是为WebSphere软件最优化的。注释:当你下载Rational Application Developer时,你可以选择同时下载一些工具包作为附带品,包括一个你可以用来查看和分析产品数据的工具包。

在Rational Application Developer中建立HelloWorld类

让我们进一步了解 Rational Application Developer 。通过选择Window > Open Perspective > Java打开Rational Application Developer。然后,建立一个Java项目。(就目前来讲,你可以使用默认设置。)图1表示了Rational Application Developer中的Java视图。

图1 在Rational Application Developer中建立一个Java项目
在 Rational Application Developer中建立一个Java项目

通过使用右键点击源程序文件夹并选择New > Class建立一个新的类。新Java类向导 New Java Class Wizard 会出现帮助你建立关于你的类的各种选项(见图2)。

图2 为新的Java类设置选项
为新的Java类设置选项

在名称文本框中输入HelloWorld,然后选择适合于你的环境的选项。我推荐选择public static void main(String[] args)选项(如图2中所示)来在生成的Java类中产生一个"main"方法。(注意在接口文本区域可以输入任何你希望该类实现的接口。比如,如果你正在写一个Java Bean并希望实现串行接口,你可以使用这个选项说明你的需求。)

在你完成了向导之后,转换到包浏览器(Package Explorer)。在那里你将找到你刚刚建立的类并可以查看代码,如列表1所示。向主方法添加一行代码,使它打印出"Welcome to Rational Application Developer."。


列表1 新建HelloWorld类的代码

/*
 * Created on May 5, 2005
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */

/**
 * @author Kunal Mittal
 *
 * TODO To change the template for this 
 * generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
public class HelloWorld {

      public static void main(String[] args) {

        System.out.println("Welcome to Rational Application Developer ");
      }
}

方便的是你可以马上从Rational Application Developer中真正编译和执行这些代码。选择Run > Run As > Run As Java Application来编译和执行代码。你可以在控制窗口中查看代码的输出结果。

此外,你可以选择使用Debugger模式运行代码,这样你可以一步步跟踪代码。这个功能对HelloWorld这样的简单应用程序没有什么用处,但是当你开始使用这个工具建立真正的应用程序时它是非常有价值的。(Debugger支持是另一篇文章的主题,所以这里我不作介绍。)

建立一个简单的基于Struts的应用程序

现在,我将告诉你如何使用Rational Application Developer建立一个简单的基于Struts的应用程序。Struts是一个模型-视图-控制器(MVC)框架,它很快就成为了J2EE Web 开发的标准。Struts提供了应用程序的视图(JavaServer Pages,简称JSP)层,控制层(行为类),以及模型层(比如数据访问对象Data Access Objects (DAOs)和企业版Enterprise JavaBean (EJB)技术)之间清楚的分界。

从建立一个新的动态 Web 项目开始。当新动态 web 项目向导出现时,你在大多数情况下可以使用默认选项,无需做出更改。你所要作的全部只是指定你的 web 应用程序的名称,设置对Servlet 规范的遵从级别,并确定你希望部署程序的服务器。图3展示了你应该选择的选项。

图3 建立一个新的动态 Web 项目
建立一个新的动态 Web 项目

在向导的第二个窗口(见图4),选择StrutsJSP Tag Libraries选项,然后点击Finish

图4 动态web项目的特性
动态web项目的特性

建立一个新的web 图。(在建立该程序的所有代码时建立这个图。)在图内点击右键,然后选择New > Action Form Bean。完成向导即可快速建立你的Form Bean。然后,建立一个简单的带有两个属性(firstNamelastName)的CustomerBean。代码如列表2所示。

列表2 建立CustomerBean的代码

import javax.servlet.http.HttpServletRequest;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;

/**
 * Form bean for a Struts application.
 * Users may access 2 fields on this form:
 * @version 1.0
 * @author Kunal Mittal
 */
public class CustomerBean extends ActionForm

{

    private String firstName = null;

    private String lastName = null;

    /**
     * Get firstName
     * @return String
     */
    public String getFirstName() {
        return firstName;
    }

    /**
     * Set firstName
     * @param String
     */
    public void setFirstName(String f) {
        this.firstName = f;
    }

    /**
     * Get lastName
     * @return String
     */
    public String getLastName() {
        return lastName;
    }

    /**
     * Set lastName
     * @param String
     */
    public void setLastName(String l) {
        this.lastName = l;
    }

    /**
     * Constructor
     */
    public CustomerBean() {

    }

    public void reset(ActionMapping mapping, 
                 HttpServletRequest request) {

        // Reset values are provided as samples only. 
        // Change as appropriate.

        firstName = null;
        lastName = null;

    }

    public ActionErrors validate(ActionMapping mapping,
            HttpServletRequest request) {

        ActionErrors errors = new ActionErrors();
        // Validate the fields in your form,
        // adding each error to this.errors as found, e.g.,

        // if ((field == null) || (field.length() == 0)) {
        //   errors.add("field", new org.apache.struts.action.ActionError("error.field.required"));
        // }
        return errors;

    }
}

现在,在Rational Application Developer中建立一个JSP文件,方法是在浏览视图中点击右键,然后选择New > JSP。完成向导(它与你用来建立新的Java类的向导是类似的)。确保从模型下拉列表中选择Struts JSP,指定URL映射,并选择CustomerBean。向导建立了一个允许你从Form Bean中获得数据的JSP文件。列表3是该文件内的代码。

列表3 firstPage.jsp
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
<html:html>
<HEAD>
<%@ page language="java" contentType="text/html; 
         charset=ISO-8859-1"%>
<LINK href="theme/Master.css" rel="stylesheet"
        type="text/css">
<TITLE>firstPage.jsp</TITLE>
</HEAD>

<BODY>
<html:form action="firstPage" method="post" enctype="text/plain">
<TABLE border="0">
    <TBODY>
        <TR>
            <TH>firstName</TH>
            <TD><html:text property="firstName" /></TD>
        </TR>
        <TR>
            <TH>lastName</TH>
            <TD><html:text property="lastName" /></TD>
        </TR>
        <TR>
            <TD>
               <html:submit property="submit" value="Submit" />
            </TD>
            <TD><html:reset /></TD>
        </TR>
     </TBODY>
</TABLE>
</html:form>
</BODY>
</html:html>

定义一个你部署代码的服务器。在这个例子中,我下载并安装了Tomcat 5.0版。建立一个新的服务器表项,并设置为Tomcat的默认值(见图5)。

图5 为你的网络项目指定服务器
Specify a server for your Web project

最后,在服务器上运行应用程序。在浏览视图中,右键点击Web应用程序,然后选择Run > Run on Server。图6展示了这个简单程序的运行情况。

图6. Testing your Web application
Testing your Web application

这就是使用该工具建立一个简单的基于Struts的应用程序的速度。请进一步探索该功能并向这个简单应用程序中添加验证部分。

小结

在这篇文章中,我介绍了Rational Application Developer,它是WebSphere Studio Application Developer的替代产品,允许与Rational Software Modeler 和 Rational Software Architect的更多集成。我还演示了如何快速建立简单的Java代码和一个基于Struts的网络应用程序并从Rational Application Developer内部部署它们。我使用了Apache Tomcat作为简单Struts应用程序的部署容器,但是你也可以在一台运行WebSphere或使用BEA WebLogic平台工具包的机器上部署该程序。有了Rational Application Developer,你可以看到开发、部署和测试Java或J2EE应用程序是多么方便快速。

 

版权所有:UML软件工程组织