用jdeveloper开发struts系统入门

类别:Java 点击:0 评论:0 推荐:
JBuilder也许是现在最为流行的Java开发工具,但它不是免费的,在最新版的JBuilder9中会自动向Borland公司发信息,很容易被查出是否在使用盗版?。而struts是现在最流行的web系统架构,JBuilder9自带的竟然还是struts1.0。当然,我个人还是很喜欢Borland公司的产品,但由于种种原因,公司改用了Oracle的JDeveloper。JDeveloper1.0是Oracle公司从Borland买了JBuilder代码改造而成的,听闻着很少。但从JDeveloper3.0开始,JDeveloper开始集成了Oracle的BC4J开发组件(这是一个很强大、易用的开发组件),JDevelpoer开始受到关注。下面,我将介绍一下如何在JDeveloper903上开发struts系统。

一 准备工作
1.1 下载JDeveloper
首先,从Oracle的网站上下载最新版本的JDeveloper9.03.3版本,JDeveloper现在是免费的。
1.2 关于Oc4j
在JDeveloper中还自带了Oracle的一个应用服务器OC4J。解压所下载的压缩包,在JDeveloper目录下的j2ee文件夹就是OC4J所在的目录。如果要手工启动Oc4j,我们可以在在它所在的目录下执行java ?Cjar oc4j.jar。Oc4j的用法和功能在这里不详细介绍。
二 开发struts系统
2.1 运行JDeveloper
在JDeveloper所在目录下的[JDeveloperHome]jdev\bin中的jdevw.exe就是JDeveloper在windows中的运行程序。运行JDeveloper后界面如下图:
 

图1

JDeveloper的struts开发支持struts的最新版本struts1.1,并且提供了struts开发向导。下面,我们将介绍如何用JDeveloper开发struts系统。
2.2 构建struts系统环境
1)    首先,我们要创建一个工作空间(workspace)。在JDeveloper中有一个根工作空间,右击(鼠标右键单击)根工作空间,在弹出菜单中选择“new workspace…”创建一个新的工作空间。
2)    通过File|New…|General|Empty Project创建一个名为strustdemo的空的工程。
3)    在新的工作中通过struts系统向导完成struts开发环境的创建。
在File|New菜单下选择Web-Tier分枝下的struts,在右边的选项中选择“starter application”,单击“OK” 按钮。
 
图2
完成了上面的步骤,一个struts的开发环境就完成了。从JDeveloper中我们可以看到向导为我们的工程添加了web.xml、struts-config.xml和一个proterties文件。
2.3 一个struts的开发实例
这只是一个简单的实例,用户输入网址,将弹出一个JSP页面,在JSP页面中输入用户信息并提交,将在同一页面中显示出信息列表。
2.3.1 编辑struts-config.xml文件
首先,我们在struts-config.xml中添加actionmapping、在JSP中用于接收用户输入信息的DynaActionForm。
右击struts-config.xml,在弹出菜单中选择“Edit Struts Config…”项,将弹出struts-config.xml文件的编辑器。
 

 
图3
从图3可看到,JDevelpoer为我们提供了配置struts-config.xml文件的工具。
1)    先选择Form Beans分支添加一个ActionForm
 
图4

2)    先选择Action Mapping分支,然后添加两个ActionMapping,设置如下
 

图5
 

图6
从图3中我们可以看到,还可以通过这个编辑器来编辑Exception、plugs等struts1.1的新特性。
2.3.2 编辑JSP
在File|New菜单下选择Web Tier分支下JavaServer Page(JSP),在右边的选项中选择JSP Page,创建一个名为testdynaform的JSP。
在JDeveloper中提供了编写struts tag的工具,在View|Component Palette可以打开。
 

图7
只要选中所要编辑的标志,然后把它拖到JSP文件中就完成了一个标志的编写。下面是testdynaform.jsp的代码:
<%@ page language="java" %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>

<html:html>
<head>
<title>测试动态form</title>
<html:base/>
</head>
<body bgcolor="white">

<html:form action="testdynaform">
<table border="0" width="100%">
  <tr>
    <th align="left">
      用户名
    </th>
    <td align="left">
      <html:text property="userName" size="30" maxlength="30"/>
    </td>
  </tr>
  <tr>
    <th align="left">
      性别
    </th>
    <td align="left">
      <html:text property="sex" size="60" maxlength="60"/>
    </td>
  </tr>
<logic:present name="result" scope="request">
    <logic:iterate id="item" name="result" type="mypackage1.User"> 
        <TR> 
            <TD><bean:write name="item" property="userName"/></TD>
            <TD><bean:write name="item" property="sex"/></TD>
        </TR>
    </logic:iterate> 
</logic:present>
  <tr colspan="1">
    <td>
      <html:submit property="submit" onclick="bCancel=false;">
         提交
      </html:submit>
    </td>
  </tr>
</table>
</html:form>
</body>
</html:html>
2.3.4 编写Action
在File|New菜单下选择Web-Tier分枝下的struts,在右边的选项中选择“Action”,单击“OK” 按钮。把创建的Action命名为TestDynaFormAction。在产生的代码的execute函数中添加如下代码:
public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
    {
        DynaActionForm dform = (DynaActionForm)form;
        String name = (String)dform.get("userName");
        String sex = (String)dform.get("sex");
        System.out.println("name = " + name + " , sex" + sex);
        String name1 = name + "1";
        String sex1 = sex + "1";
        dform.set("userName", name1);
        dform.set("sex", sex1);    
        User[] result = { new User(), new User(), new User() };
        result[0].setUserName(name);
        result[0].setSex(sex);
        result[1].setUserName(name1);
        result[1].setSex(sex1);
        result[2].setUserName(name1 + "1");
        result[2].setSex(sex1 + "1");
        request.setAttribute("result", result); //OK
        return mapping.findForward("success");
    }
2.3.5 编写一个bean
通过File|New…|Java Class新建一个名为User的class,这个类是一个JavaBean,用于存放用户信息。右击User.java,在弹出菜单中选择Class Editor。
 

图8
在class编辑器中添加两个成员变量
 

图9
只要添加了成员变量,那么相应的geter和seter方法就会自动生成。
2.3.6 运行程序
右击struts-config.xml下的index,在弹出菜单中选择“Run index”就可运行上面所创建的例子。
 

图10
运行结果为:
 

图11

本文地址:http://com.8s8s.com/it/it14851.htm