分享
 
 
 

用jdeveloper开发struts系统入门

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有