`
lijun87
  • 浏览: 270243 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

J2EE基础:Struts框架的初学者入门知识

阅读更多
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"/>


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中封装的数据,经相应的逻辑处理后,调用业务方法完成相应业务要求。

Servlet的演变:在常规的 JSP,Servlet,JavaBean三层结构中,JSP实现View的功能,Servlet实现Controller的功能,JavaBean实现Model的实现。

在Struts中,将常规情况下的Servlet拆分与ActionServlet、FormBean、ActionBean三个部分。ActionServlet配合Struts-config.xml,专职完成页面导航,而不再负责具体的数据获取与相应逻辑,这两部分功能由FormBean和ActionBean来完成。

3.Struts优缺点

优点:

Struts跟Tomcat、Turbine等诸多Apache项目一样,是开源软件,这是它的一大优点。使开发者能更深入的了解其内部实现机制。

除此之外,Struts的优点主要集中体现在两个方面:Taglib和页面导航。Taglib是Struts的标记库,灵活动用,能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。

关于页面导航,我认为那将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。

缺点:

Taglib是Struts的一大优势,但对于初学者而言,却需要一个持续学习的过程,甚至还会打乱你网页编写的习惯,但是,当你习惯了它时,你会觉得它真的很棒。

Struts将MVC的Controller一分为三,在获得结构更加清晰的同时,也增加了系统的复杂度。

Struts从产生到现在还不到半年,但已逐步越来越多运用于商业软件。虽然它现在还有不少缺点,但它是一种非常优秀的J2EE MVC实现方式,如果你的系统准备采用J2EE MVC架构,那么,不妨考虑一下Struts。

4.Struts实施经验:

1)、基于Struts架构的项目开发,首先需要有一个很好的整体规划,整个系统中包括哪几个模块,每个模块各需要多少FormBean和ActionBean等,而且最好有专人负责Struts-config.xml的管理。开发基于Struts的项目的难点在于配置管理,尤其是对Struts-config.xml的管理。

2)、如果你的项目非常紧,并且项目组中又没有富有经验的Struts开发人员,建议不要冒然采用Struts。Struts的掌握需要一个过程,对于一个熟练的JSP程序员,自学大概需要半个月左右的时间。如果结合titls,则需要更长的时间。

3)、如果你在网页中大量运用taglib,那么你的美工将做出部分牺牲。当你结合Tiles,功能增强的同时,这种牺牲尤为明显。当然,你对功能和美观的取舍由你自己决定。

4)、Taglib是一个好东西,但灵活运用它却需要一个过程,如果你不想在Taglib上花太多的时间,那么只需理解与FORM有关的几个标记,其它的标记就放着吧,以后再看,先去研究ActionServlet和Struts-config.xml,你会觉得很有成就感。

5)、Struts是否只适合于大型项目呢?No!Struts适合于各种大小的项目,当然,对于大型项目,它所体现出来的优势更加明显
分享到:
评论

相关推荐

    J2EE基础struts框架的初学者入门知识

    ### J2EE基础:Struts框架的初学者入门知识 #### Struts框架简介与安装 Struts框架是基于Java EE平台的MVC(Model-View-Controller)架构模式的开源框架,它极大地简化了Web应用程序的开发流程,尤其适用于构建大型...

    struts练习 初学者入门

    本教程“Struts练习 初学者入门”旨在帮助初学者快速掌握Struts的基本概念和用法,通过一系列的实践练习,让学习者能够快速上手。 首先,理解Struts框架的核心理念至关重要。Struts采用Model-View-Controller(MVC...

    J2EE:struts2示例

    这个"J2EE: Struts2示例"旨在提供一个简单的入门教程,帮助初学者理解Struts2的核心概念和基本用法。 Struts2的核心是Action,它是业务逻辑处理的主要组件。Action负责接收用户请求,执行相应的业务逻辑,并将结果...

    Java Web整合开发完全自学手册:Struts+Hibernate+Spring+Eclipse源码

    《JavaWeb整合开发完全自学手册》主要介绍Struts、Hibernate、Spring、Eclipse的基础知识,如何整合这4个开源框架进行J2EE开发,如何基于MyEclipseIDE进行开发,J2EE开发的基础和基础环境搭配,Struts、Hibernate、...

    轻量级 J2EE 企业应用实战:Struts+Spring+Hibernate 整合开发.part2.rar

    倾情推荐,这本书太好了! 本书所介绍的内容是作者多年J2EE开发经验的...本书既可以作为J2EE初学者的入门书籍,也可作为J2EE应用开发者的提高指导。 分为两部分,part1地址 http://download.csdn.net/source/1070521

    轻量级 J2EE 企业应用实战:Struts+Spring+Hibernate 整合开发.part1.rar

    倾情推荐,这本书太好了!本书所介绍的内容是作者多年J2EE开发经验的总结,...本书既可以作为J2EE初学者的入门书籍,也可作为J2EE应用开发者的提高指导。 分两部分:part2地址http://download.csdn.net/source/1070540

    轻量级J2EE企业应用实战:Struts+Spring+Hibernate 整合开发.part1

    本书所介绍的内容是作者多年J2EE开发经验的总结,内容涉及三个开源框架:Struts、Hibernate和Spring,还介绍了Tomcat和Jetty两个开源...本书既可以作为J2EE初学者的入门书籍,也可作为J2EE应用开发者的提高指导。

    轻量级J2EE企业应用实战:Struts+Spring+Hibernate 整合开发.part2

    本书所介绍的内容是作者多年J2EE开发经验的总结,内容涉及三个开源框架:Struts、Hibernate和Spring,还介绍了Tomcat和Jetty两个开源...本书既可以作为J2EE初学者的入门书籍,也可作为J2EE应用开发者的提高指导。

    轻量级J2EE企业应用实战:Struts+Spring+Hibernate 整合开发.part3

    本书所介绍的内容是作者多年J2EE开发经验的总结,内容涉及三个开源框架:Struts、Hibernate和Spring,还介绍了Tomcat和Jetty两个开源...本书既可以作为J2EE初学者的入门书籍,也可作为J2EE应用开发者的提高指导。

    輕量級 J2EE 企業應用實戰:Struts+Spring+Hibernate整合開發 (第一部分)

    輕量級 J2EE 企業應用實戰:Struts+Spring+Hibernate整合開發 本书所介绍的内容是作者多年J2EE 开发经验的总结,内容涉及...本书既可以作为J2EE 初学者 的入门书籍,也可作为J2EE 应用开发者的提高指导。

    輕量級 J2EE 企業應用實戰:Struts+Spring+Hibernate整合開發 (第三部分)

    輕量級 J2EE 企業應用實戰:Struts+Spring+Hibernate整合開發 本书所介绍的内容是作者多年J2EE 开发经验的总结,内容涉及Struts ...本书既可以作为J2EE 初学者 的入门书籍,也可作为J2EE 应用开发者的提高指导。

    輕量級 J2EE 企業應用實戰:Struts+Spring+Hibernate整合開發 (第二部分)

    輕量級 J2EE 企業應用實戰:Struts+Spring+Hibernate整合開發 &lt;br&gt;本书所介绍的内容是作者多年J2EE 开发经验的总结,内容涉及Struts...本书既可以作为J2EE 初学者 的入门书籍,也可作为J2EE 应用开发者的提高指导

    Struts1.0学习文档-初学者入门.doc

    ### Struts 1.0 学习文档:初学者入门详解 #### 一、Struts 概述 Struts 是一款基于 Java Servlet 和 XML 的开源框架,专为简化 Web 应用开发而设计。随着 Web 应用复杂度的增加,代码重用性、移植性和模块化成为...

    J2EE学习笔记(J2ee初学者必备手册)

    该文档不仅包含了Java的基础知识,还深入探讨了J2EE的相关技术栈,包括Oracle数据库、Spring框架、Struts框架以及Hibernate等。对于初学者来说,这是一份非常全面且实用的学习资料。 #### JavaEE基础知识 1. **...

    輕量級 J2EE 企業應用實戰:Struts+Spring+Hibernate整合開發.part1

    本书所介绍的内容是作者多年J2EE 开发经验的总结,内容涉及Struts 、Hibernate 和Spring 三个开源 框架,还介绍了Tomcat 和Jetty ...本书既可以作为J2EE 初学者 的入门书籍,也可作为J2EE 应用开发者的提高指导。

    輕量級 J2EE 企業應用實戰:Struts+Spring+Hibernate整合開發.part2

    本书所介绍的内容是作者多年J2EE 开发经验的总结,内容涉及Struts 、Hibernate 和Spring 三个开源 框架,还介绍了Tomcat 和Jetty ...本书既可以作为J2EE 初学者 的入门书籍,也可作为J2EE 应用开发者的提高指导。

    輕量級 J2EE 企業應用實戰:Struts+Spring+Hibernate整合開發.part3

    本书所介绍的内容是作者多年J2EE 开发经验的总结,内容涉及Struts 、Hibernate 和Spring 三个开源 框架,还介绍了Tomcat 和Jetty ...本书既可以作为J2EE 初学者 的入门书籍,也可作为J2EE 应用开发者的提高指导。

    Struts入门教材

    通过本书的学习,初学者能够系统地掌握Struts框架的基本原理和使用方法,为进一步深入J2EE开发奠定坚实的基础。无论是环境配置、基础应用,还是高级特性的探索,本书都提供了详实的指导和实践案例,是学习Struts不可...

Global site tag (gtag.js) - Google Analytics