您所在的位置:开发 > Java > Java:Struts入门初步知识(1)

Java:Struts入门初步知识(1)

2005-09-12 14:12 hzrczl jr 我要评论(0) 字号:T | T
一键收藏,随时查看,分享好友!

本文是介绍Struts入门基础知识的教程

AD:

1.如何安装Struts

首先到http://jakarta.apache.org/Struts下载Struts,建议使用release版,现在最高版本为1.2.6,有多种OS版本(windows,linus...),下载后解压开来,可以看到这个目录:lib和webapps,webapps下有一些WAR文件。假设你的Tomcat装在c:Tomcat下,则将那些WAR文件拷贝到C:Tomcatwebapps,重新启动Tomcat即可。打开浏览器,在地址栏中输入:http://localhost:8080/Struts-example/index.jsp,若能见到“powered by Struts”的深蓝色图标,即说明成功了。这是Struts自带的一个例子,附有详细的说明文档,可以做为初学者的入门教程。另外,Struts还提供了一系统实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息等。

2.练习做一个实例

一个用户注册系统,用户通过网页输入相关信息:注册ID号,密码,EMAIL,若注册成功,则返回成功提示信息,反之出现注册失败提示信息。

以下是相关文件的部分核心代码。

项目建立:

正式开发前,需要在Tocmat(我的tomcat装在c:omcat)中建立此项目。比较快的一种建立方式为:在C:omcatwebapps下新建目录test,再将C:omcatwebappsstruts-example下的WEB-INF目录拷贝到test目录下,然后将testWEB-INF下的src和classes目录清空,以及struts-config.xml文件中内容清空即可。这样,我们需要的Struts类包及相关的配置文件就都齐了。

开发时,将JSP文件放在test目录下,Java原文件放在testWEB-INFsrc下,编译后的类文件放在testWEB-INFclasses下。

注册页面:reguser.jsp

< %@ page contentType="text/html;charset=UTF-8" language="java" % >
< %@ taglib uri="/WEB-INF/Struts-bean.tld" prefix="bean" % >
< %@ taglib uri="/WEB-INF/Struts-html.tld" prefix="html" % >
< html:html locale="true" >
< head >
< title >RegUser< /title >
< html:base/ >
< /head >
< body bgcolor="white" >
< html:errors/ >
< html:form action="/regUserAction" focus="logname" >
< table border="0" width="100%" >
< tr >
< th align="right" >

Logname:

< /th >
< td align="left" >
< html:text property="logname" size="20" maxlength="20"/ >
< /td >
< /tr >
< tr >
< th align="right" >

Password:

< /th >
< td align="left" >
< html:password property="password" size="20" maxlength="20"/ >
< /td >
< /tr >
< tr >
< th align="right" >

E-mail:

< /th >
< td align="left" >
< html:password property="email" size="30" maxlength="50"/ >
< /td >
< /tr >
< tr >
< td align="right" >
< html:submit property="submit" value="Submit"/ >
< /td >
< td align="left" >
< html:reset/ >
< /td >
< /tr >
< /table >
< /html:form >
< /body >
< /html:html >

此JSP页面不同于普通的JSP页,因为它大量运用了taglib,这些taglib对初学者而言,可能难于掌握,可这却是Struts的精华之一。灵活运用,将大大提高开发效率。

Struts-config.xml:

< Struts-config >
< form-beans >
< form-bean name="regUserForm"
type="org.cjea.Struts.example. RegUserForm "/ >
< /form-beans >
< action-mappings >
< action path="/regUserAction"
type=" org.cjea.Struts.example.RegUserAction "
attribute=" regUserForm "
scope="request"
validate="false" >
< forward name="failure" path="/ messageFailure.jsp"/ >
< forward name="success" path="/ messageSuccess.jsp"/ >
< /action >
< /action-mappings >
< /Struts-config >

Struts的核心是Controller,即ActionServlet,而ActionServlet的核心就是Struts-config.xml,Struts-config.xml集中了所有页面的导航定义。对于大型的WEB项目,通过此配置文件即可迅速把握其脉络,这不管是对于前期的开发,还是后期的维护或升级都是大有裨益的。掌握Struts-config.xml是掌握Struts的关键所在。

FormBean:RegUserForm

package org.cjea.Struts.example;
import javax.Servlet.http.HttpServletRequest;
import org.apache.Struts.action.ActionForm;
import org.apache.Struts.action.ActionMapping;
public final class RegUserForm extends ActionForm{
private String logname;
private String password;
private String email;
public RegUserForm(){
logname = null;
password = null;
email = null;
}

public String getLogName() {
return this.logname;
}

public void setLogName(String logname) {
this.logname = logname;
}

public void setPassWord(String password) {
this.password = password;
}

public String getPassWord() {
return this.password;
}

public void setEmail(String email) {
this.email = email;
}

public String getEmail() {
return this.email;
}

public void reset(ActionMapping mapping, HttpServletRequest request)
{
logname = null;
password = null;
email = null;
}
}

每一个FormBean都必须继承ActionForm类,FormBean是对页面请求的封装。即把HTTP request封装在一个对象中,需要说明的一点就是多个HTTP request可以共用一个FormBean,便于维护和重用。

ActionBean:RegUserAction

package org.cjea.Struts.example;
import javax.Servlet.http.*;
import org.apache.Struts.action.*;
public final class RegUserAction extends Action
{
public ActionForward perform(ActionMapping mapping,
ActionForm form, HttpServletRequest req,
HttpServletResponse res)
{

String title = req.getParameter("title");
String password = req.getParameter("password");
String email = req.getParameter("email");
/*
取得用户请求,做相应数据库操作,略
*/
}
}

FormBean的产生是为了提供数据给ActionBean,在ActionBean中可以取得FormBean中封装的数据,经相应的逻辑处理后,调用业务方法完成相应业务要求。

内容导航

分享到:

网友评论TOP5

查看所有评论(

提交评论

热点职位

更多>>

热点专题

更多>>

读书

超级网管员——网络设备
本书深入细致地介绍了用于构建网络的最重要的硬件设备——交换机、路由器、安全设备和无线设备,涵盖了原理、参数、分类、适用、

51CTO旗下网站

领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 51CTO学院