分享
 
 
 

实战JBuilder8 + Struts,一个简单的例子

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

实战JBuilder8 + Struts,一个简单的例子

刘晓巍:liuxiaowei2000@sina.com

一. 内容介绍

本文说明了使用JBuilder 8 建立一个简单的Struts应用步骤,主要以步骤为主,理论说明较少。希望能够对大家有所帮助,也希望大家多多批评!

运行环境:

Windows 2000 Server(SP3)

j2sdk1.4.1_01

jakarta-struts-1.0.2(JBuilder8自带)

二. 实战

1 建立Web Application

1.1 选择File-》New Project建立一个名为StrutsDemo新的项目,如下图所示:

图1

1.2 单击Next,去掉Required Libraries中的项,其它不变,单击Finish即可。

图2

1.3 选择Project-》Project Properties,按下图设置Server页,单击OK即可:

图3

1.4 选择File-》New-》Web页-》Web Application,单击OK。

图4

1.5 按下图填写后,单击OK即可。

图5

2 建立ActionForm

2.1 选择File-》New-》Web页-》ActionForm,单击OK。

图6

2.2 按下图填写后,单击OK即可。

图7

2.3 单击Add按钮,加入name和password字段的定义后,单击Next即可。

图8

2.4 按下图填写后,单击Finish即可。

图9

2.5 编写ActionForm代码。

一般在ActionForm里进行简单的有效性检查,按如下填写 LoginActionForm的validate()函数:

public ActionErrors validate(ActionMapping actionMapping, HttpServletRequest httpServletRequest) {

ActionErrors errors = new ActionErrors();

if ((name == null) || (name.length() < 1))

errors.add("name", new ActionError("error.username.required"));

if ((password == null) || (password.length() < 1))

errors.add("password", new ActionError("error.password.required"));

return errors;

}

3 建立Action

3.1 选择File-》New-》Web页-》Action,单击OK。

图10

3.2 按下图填写后,单击Next即可。

图11

3.3 下图填写后,单击Finish即可。

图12

3.4 编写Action代码。

一般情况下在Action中编写逻辑,存取数据库等操作。按如下填写loginAction的perform()函数:

public ActionForward perform(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {

LoginActionForm form = (LoginActionForm) actionForm;

if (form.getName().equals("liuxiaowei")&&(form.getPassword().equals("liuxiaowei")))

{

// Save our logged-in user in the session

HttpSession session = httpServletRequest.getSession();

session.setAttribute("UserName", form.getName());

return (actionMapping.findForward("success"));

}

ActionErrors errors = new ActionErrors();

if (!form.getName().equals("liuxiaowei"))

errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("error.username.wrong"));

if (!form.getPassword().equals("liuxiaowei"))

errors.add(ActionErrors.GLOBAL_ERROR, new ActionError("error.password.wrong"));

saveErrors(httpServletRequest,errors);

return (actionMapping.findForward("login"));

}

4 建立JSP

4.1 选择File-》New-》Web页-》JSP from ActionForm,单击OK。

图13

4.2 按下图填写后,单击Next即可。

图14

4.3 按下图填写后,单击Next即可。

图15

4.4 按下图填写后,单击Finish即可。

图16

4.5 修改login.jsp文件。

修改完成后如下(红色是修改部分):

<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>

<%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>

<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>

<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>

<%@ page contentType="text/html; charset=GBK" %>

<html:html locale="true">

<head>

<title>

<bean:message key="login.title"/>

</title>

</head>

<body>

<html:errors/>

<bean:message key="login.heading"/>

<p>

<html:form action="/loginAction.do" method="POST">

<bean:message key="login.inputName"/><html:text property="name"/>

<br>

<bean:message key="login.inputPassword"/><html:password property="password"/>

<br>

<html:submit property="submit" value="Submit"/><br>

<html:reset value ="Reset"/>

</html:form>

</body>

</html:html>

4.6 选择File-》New-》Web页-》JavaServer Page,单击OK。

图17

4.7 按下图填写后,单击Next即可。

图18

4.8 按下图填写后,单击Finish即可。

图19

4.9 修改loginOK.jsp文件。

修改完成后如下(红色是修改部分):

<%@ page contentType="text/html; charset=GBK" %>

<%@ 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" %>

<%@ taglib uri="/WEB-INF/struts-template.tld" prefix="template" %>

<html>

<head>

<title>

<bean:message key="loginOK.title"/>

</title>

</head>

<body bgcolor="#ffffff">

<h1>

<%=request.getSession().getAttribute("UserName")%>

<bean:message key="loginOK.message"/>

</h1>

</body>

</html>

4.10 修改struts-config.xml文件

在左侧的文件树中双击struts-config.xml文件,选中下方的Global Forwards项单击右侧的Add按钮,添加两项,如下图所示:

图20

4.11 修改web.xml文件

在左侧的文件树中双击web.xml文件,选中下方的Servlets->action项,单击右侧的Add按钮,添加一项application,如下图所示:

图21

图22

4.12 编写资源文件

选择File-》Save All保存所有文件。

选择Project-》Make Project “StrutsDemo.jpx” 编译项目。

编写一个名为ApplicationResources.properties的文本文件,保存至项目存放目录下的src\strutsdemo里面,并将其添加到项目里面,右键单击此文件,选择Properties,按下图设置。

图23

文件内容如下:

login.title=Struts Demo

login.heading=<h1>Welcome to the StrutsDemo !</h1>

lgoin.message=Welcome to the StrutsDemo !

login.inputPassword=Please input Password :

login.inputName=Please input Username :

loginOK.title= User Login Successfull

loginOK.message=<h1>Login Successfull !</h1>

error.username.required=<h3><font color="red">UserName is Required !</font></h3>

error.password.required=<h3><font color="red">Password is Required !</font></h3>

error.username.wrong=<h3><font color="red">UserName is Wrong !</font></h3>

error.password.wrong=<h3><font color="red">Password is Wrong !</font></h3>

errors.footer=</ul><hr>

errors.header=<h3><font color="red">Validation Error</font></h3>You must correct the following error(s) before proceeding:<ul>

三. 运行应用程序

1. 右键单击左边文件树中的login.jsp,选择WebRun Using Defaults即可。

2. 如果不输入name和password,单击submit的话,会看到错误提示,这是ActionForm生成的。

3. 如果输入了错误的name和password,单击submit的话,也会看到错误提示,这是由Action生成的,在本例中正确地name和password都是“liuxiaowei”,正确的话将会看到login successful页面,就是loginOK.jsp,用户名是通过session传递的。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有