实战JBuilder8 + Struts,一个简单的例子
一. 内容介绍
本文说明了使用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传递的。