|
加入收藏
|
设为首页
|
证书查询
|
首页
|
中心简介
学院简介
中心简介
教学环境
教学模式
课程优势
清华风采
社会形象
大事记
清华声明
|
形象展示
视频下载
|
专业介绍
预科课程
软件工程师
网络工程师
短期课程
职业素养训练
学术专家在线
|
在线学习
net培训
java培训
sql数据库培训
|
证书展示
清华大学证书
工信部证书
学历证书
|
讲师风范
网络专业讲师
软件专业讲师
教务老师
职业规划师
就业指导教师
|
就业指导
网络招聘会
签约流程
战略合作企业
就业心得
就业成果
就业保障体系
面试试题
就业兵法
|
学员社区
学习心得
拓展活动
学生会成员
软件下载
|
班主任群
班主任通知
班主任工作
班主任介绍
班主任心得
|
报名咨询
咨询问题解答
我要报名
清华贴吧
|
就业联盟
免费体验
当前位置:
首页
>>
在线学习
>>
java培训
Struts应用详解
繁简对译:[
繁
简
] 字体设置:[
大
中
小
]
2008-10-17 阅读 次
第十三章
Struts
应用详解
•
在本章的内容中,将主要介绍
Struts
的基本知识,对
Struts
处理用户请求过程的各个环节进行了详细的介绍,并且还介绍在
Struts
中使用
Validator
、
Tiles
等其他框架的基本方法,通过本章内容的学习,读者可以掌握
Struts
的基本知识,具备
Struts
开发的基本技能。
13.1
Struts
基础知识
•
随着
Web
开发技术的日益成熟,在
Web
开发领域中出现了许多软件开发框架,
Struts
就是一种基于
MVC
经典设计模式的框架,也是目前
Web
开发中比较成熟的一种开发框架,要使用
Struts
框架,首先需要了解
Struts
的工作原理,在本节的内容中,将简单介绍
Strut
框架的工作原理,并且对
Struts
开发环境的配置方法做简单的说明
13.1.1
Struts
的工作原理
•
Struts
是对
JSP Model2
设计标准的一种实现,下面分别场区那个模型(
Model
)、视图(
View
)和控制器(
Controller
)三个部分介绍
Struts
的体系结构和工作原理,在一般情况下,
Struts
框架中的模型是由
JavaBean
或者
EJB
构成,视图是有
JSP
页面组成,控制器是由
ActionServlet
和
Action
实现。(具体内容请参照书。)
13.1.2
Struts
的工作流程
•
ActionServlet
是
Struts
中核心的控制器,所有的用户请求都必须通过
ActionServlet
的处理,而
struts-config.xml
是
Struts
中核心的配置文件,在这个文件中配置了用户请求
URL
和控制器
Action
的映射关系,
ActionServlet
就是通过这个配置文件把用户请求发送到对应的控制器中。
13.1.3
Struts
的基本配置
•
在开发
Struts
应用程序的时候,需要对开发环境进行简单的配置,其中需要把
Struts
的类库放到项目
WEB-INF/lib
文件夹下,而且要把
Strut
的
TLD
标签库表述文件放到
WEB-INF
目录下,然后还需要在
web.xml
中配置
ActionServlet
这个控制器,从而保证所有的用户请求都能被
Struts
框架接收并处理。
13.2
简单
Struts
应用示例
•
在本节内容中,将展示一个简单的
Struts
应用程序,在这个示例程序中,需要向服务器提交一个简单的表单,服务器接收这个表单以后,把处理的结果返回给用户。整个业务逻辑的处理非常简单,这个示例程序的目的也就是向读者展示
Struts
处理用户请求的具体流程,通过这个示例程序需要读者了解的是如何使用
Struts
处理用户请求,接下来介绍这个示例程序的具体开发过程。在开发这个示例程序的时候,一般情况下需要以下几个步骤。(具体内容请参照书。)
13.2.1
创建
JSP
页面
•
下面创建向用户提供表单输入的
JSP
页面,在这个
JSP
页面中,仅仅包含了一个简单的文本输入域,用来接收用户的输入,(具体内容请参照书。)
13.2.2
创建
ActionForm
•
在上节内容中,创建了一个简单的
JSP
页面,在这个
JSP
页面中提供了一个简答的用户输入表单,在
Struts
中,需要为每一个用户输入表单提供一个
ActionForm
对象,当用户提交表单的时候,
Struts
会自动把用户提交的表单信息保存在对应的
AcionForm
中,在这个示例程序中,用户提交的表单仅有一条输入信息,(具体内容请参照书。)
13.2.3
创建
Action
•
Struts
中使用
Action
处理用户的请求,在这个示例程序中,可以使用下面的
Action
来处理用户提交的表单信息。
13.2.4
创建
JavaBean
模型组件
•
在上面的
Action
中,调用了一个
JavaBean
,在这里仅仅是为了模拟在
Action
调用
JavaBean
模型组件完成业务逻辑处理的方法,在这个
JavaBean
中并没有提供具体的业务逻辑,仅仅是展示使用,这个
JavaBean
的具体代码如下。(具体内容请参照书。)
13.2.5
资源文件
•
在这个示例程序的
JSP
页面中,多次用到
Struts
中的资源文件,在本质上这个资源文件就是简单的属性文件,通过名值对应提供具体的配置内容,下面就是在这个示例程序中用到的资源文件。(具体内容请参照书。)
13.2.6
基本配置信息
•
struts-config.xml
是
Struts
配置文件中的核心配置文件,在这个配置文件中可以配置用户请求
URL
和控制器
Action
之间的映射信息,
ActionServlet
就是通过这个配置文件中完成用户请求的转发工作,下面就是这个示例程序中
struts-config.xml
配置文件的具体内容。(具体内容请参照书。)
13.2.7
运行结果
•
(具体内容请参照书。)
13.3
Struts
中的表单处理器
ActionForm
•
在
Web
应用程序的开发过程中,开发人员需要花费大量的时间和精力处理表单问题,有的时候是通过表单提交一些新的数据,有的是通过表单修改数据,所有这些表单的处理在传统的
Web
开发中都是非常复杂的。在本节中将介绍
Struts
中的表单处理组件
ActionForm
。
13.3.1
A
ctionForm
简介
•
在传统的
Web
应用程序开发中,繁杂的表单处理工作给开发人员带来了巨大的困难,在传统的
Web
开发语言中,没有组件可以自动收集用户输入的表单内容,开发人员不得不在程序中手工提取表单的值。例如在表单中有这样一个文本输入域。
•
<input type=
”
text
”
name=
”
password
”
>
(具体内容请参照书。)
13.3.2
A
ctionForm
基本功能
•
ActionForm
不仅实现了表单字段保存的功能,而且还提供了数据缓冲、数据验证的功能。
•
在传统的
Web
开发中,验证用户提交的表单数据可以采取两种方法,一种是在表单提交到服务器后,在服务器端使用
JavaBean
来进行验证,在这种验证方法中,如果数据验证失败以后,需要返回原来的页面,但是用户提交的所有表单数据已经被刷新,除非采用特殊的程序处理,否则用户得到的会是一个全新的表单,前面输入的任何数据都没有了。
13.4
Struts
中的控制器
•
Action
是
Struts
中的主要控制器,在本节的内容中,将介绍
Action
的工作原理和基本使用方法,同时对
DispatchAction
和
LookupDispatchAction
这两个控制器的使用方法进行简单的介绍,并通过两个示例程序展示这两个控制器的基本使用方法。
13.4.1
A
ction
简介
•
在
Struts
中,所有的用户请求都会经过
ActionServlet
的处理,而实际的工作是交给
Action
对象来处理的,
ActionServlet
可以从配置文件中创建
ActionMapping
对象,并从
ActionMapping
对象中可以找到要使用的
Action
,然后将用户的请求转交给
Action
。
13.4.2
A
ction
的基本使用方法
•
在开发
Action
的时候,需要继承
org.apache.struts.action.Action
这个类,在子类中加入所需的业务逻辑处理,这些子类会返回
ActionForward
对象,
ActionServlet
接受这个对象,把页面转发到指定页面,从而把用户请求的结果发送到对应页面。(具体内容请参照书。)
13.4.3
DispatchAction
的使用方法
•
在前面的介绍中,为每一个动作提供一个
Action
类,但是在很多时候,一些相似的动作是可以在统一个模块中进行处理的,但是在
Struts
的
Action
类中,只提供一个
execute
()方法,一个用户请求
URL
只能对应一个
Servlet
,在
Struts
中提供了另一个控制器类
org.apache.struts.actions.DispatchAction
,这个类可以将完成相关业务逻辑所需要的方法集中在一个
DispatchAction
类中,在继承
DispatchAction
类之后,不是重写
execute
()方法,而是编写自己需要的方法,在不同的方法中处理不同的动作
13.4.4
LookupDispatchAction
的使用方法
•
在
DispatchAction
中可以在同一个控制器中处理多个动作,这个时候只能是通过
URL
调用控制器,控制器根据用户提交的参数决定调用哪个方法来处理用户的请求。这种情况下不能通过表单提交用户的请求信息。(具体内容请参照书。)
13.5
Struts
中的页面转发控制
•
Struts
提供了
ActionForward
和
ActionMapping
这两个类用来控制页面转发,在本节内容中将简单介绍这两个类的基本使用方法。
13.5.1
A
ctionForward
简介
•
在使用
Struts
开发的
Web
应用程序中,
Action
在完成用户逻辑处理以后,需要把处理结果展示给用户,这个时候就需要程序控制页面的转发,在
Struts
中使用
ActionForward
对象控制程序的转向,
ActionForward
对象是一种配置对象,代表了一般的
Web
资源,可以是
JSP
页面、
Servlet
以及其他
Action
,
ActionForward
对象映射的是
Struts
配置文件
struts-config.xml
中的
<forward>
元素,在这个元素中封装了目标页面的
URI
。
13.5.2
使用
ActionForward
传递参数
•
ActionForward
不仅承担着控制程序转发的任务,而且还可以在转发页面的时候同时传递参数,在
ActionForward
中,可以在
struts-config.xml
定义
<forward>
元素的时候指定参数以及内容。也可以在程序中动态添加参数。下面将介绍
ActionForward
传递参数的更多用法。
13.5.3
A
ctionMapping
简介
•
在
struts-config.xml
配置文件中,每一个
<action>
元素都对应一个
ActionMapping
对象,当用户请求被
ActionServlet
接收以后,
ActionServlet
会根据用户请求
URL
以及
<action>
元素设定的
path
属性确定对应的
ActionMapping
对象,
ActionMapping
对象会告诉
ActionServlet
使用哪个
Action
对象处理用户请求。
13.6
Struts
标签库
•
为了方便开发人员使用
Struts
开发
Web
应用系统,在
Struts
框架中提供了内置的标签库,使用这些标签库可以方便构造表示层的
JSP
页面。在前面章节中介绍的示例程序中,已经使用到一部分
Struts
标签,虽然目前很大一部分的
Web
程序仍然采用传统的
HTML
标记来实现表示层的页面,但是在
Struts
应用的开发过程中,
Struts
标签的使用还是不可避免的,在本章的接下来的内容中,将简单介绍
Struts
中常用的基本标签库。
13.6.1
html
标签
•
HTML
标签是
Struts
标签中基本的标签。
Struts
框架的
HTML
标签库中提供了对应普通
HTML
页面中的标签元素。接下来介绍
Struts
标签中的常用的标签。(具体内容请参照书。)
13.6.2
bean
标签
•
Struts
的
bean
标签库用来在
JSP
页面中处理
JavaBean
,不仅可以访问已经存在的
JavaBean
,而且还可以定义新的
JavaBean
。接下来介绍
bean
标签库中常用的标签。
13.6.3
logic
标签
•
在传统的处理方式中,是用脚本控制页面中的逻辑,在
Struts
中提供
logic
标签库控制页面的基本逻辑处理。接下来介绍
logic
标签库中常用的标签(具体内容请参照书。)
13.7
在
Struts
中使用
Validator
验证框架
•
在使用
ActionForm
时,可以把验证用户表单输入的工作放在
ActionForm
的
vailidate
()方法中,在
Struts
中,可以整合
Validator
验证框架进行表单的输入验证工作。在接下来的内容中,将介绍
Struts
中使用
Validator
验证框架的基本方法。
13.7.1
Validator
验证框架的配置
•
在前面章节中使用
MyEclipse
配置
Struts
开发环境的时候,已经默认把
Validator
框架的类库文件拷贝到项目的
WEB-INF/lib
中,而且还把
Validator
框架需要的
validator-rules.xml
文件拷贝到
WEB-INF
目录中。同时如果要使用
Validator
,还需要在
WEB-INF
目录下添加
Validator
验证规则文件,在这里我们需要在
WEB-INF
目录下添加一个
validation.xml
文件。(具体内容请参照书。)
13.7.2
Validator
的内置验证器
•
在
Validator
框架中内置了一些验证器,例如非空验证、
Email
验证、整型数据验证、最大长度验证、最小长度验证等,这些验证方法都是
Validator
框架中内置的,可以调用这些验证器对用户提交的表单进行验证。下面将简单介绍这几种内置验证器的基本使用方法。
13.7.3
Validator
验证框架的简单示例
•
在下面的示例程序中,展示了
Validator
中内置的几个验证器的基本使用方法,下面就是这个示例程序中的
JSP
页面,在这个页面中提供了一个简单的用户注册表单,在这个示例程序中将对用户输入的表单信息进行验证,(具体内容请参照书。)
13.8
在
Struts
中使用
Tiles
•
Tiles
提供一个类似桌面应用程序版面管理的机制,通过配置文件可以定义版面配置,以及其中需要插入的内容网页,在
Tiles
中内容网页可以和配置文件相分离,通过使用
Tiles
可以随时更换内容网页,从而可以重用版面配置文件。在下面的内容中,将介绍在
Struts
中使用
Tiles
框架的基本方法。
13.8.1
在
Struts
中配置
Tiles
框架
•
在
Struts
中使用
Tiles
框架的方法是非常方便的。在前面使用
MyEclipse
配置
Struts
开发环境的时候,已经自动吧
Tiles
需要用到的标签库描述文件
struts-tiles.tld
拷贝在项目的
WEB-INF
目录下,现在还需要在
WEB-INF
目录下添加一个
tiles-defns.xml
文件,在这个文件中描述了
Tiles
框架的配置信息。
13.8.2
创建模版页面
•
在下面的示例程序中,将展示
Tiles
模版的基本使用方法,在使用
Tiles
框架的时候,首先需要创建
Tiles
模版,然后在需要使用这个模版的时候,直接调用即可。(具体内容请参照书。)
13.8.3
使用模版页面
•
在上一章节中,创建了个名为
mainlayout
的页面布局,定义好这个布局以后,就可以在后就可以在程序中使用这个布局,在这个布局中,已经指定了
header
和
footer
的内容,在使用这个布局的时候,只需要添加网页中间部分的主体内容即可。(具体内容请参照书。)
13.9
小结
•
在本章内容中,介绍了
Struts
的基本知识,在目前的
Web
开发中,
Struts
已经成了
MVC
事实上的标准大量的
Web
程序使用
Struts
进行开发,所以读者有必要掌握这项基本的技术,本章中不仅介绍了
Struts
的基本工作原理、基本使用方法,而且还介绍了在
Struts
中如何整合第三方的框架,另外,在本章的内容中,对于比较复杂的知识点都提供了具体的示例展示,读者可以通过这些示例程序深入了解对应的知识点,并逐步在自己的项目中学习使用。
上一篇
下一篇:第十七章 Struts+Spring+Hibernate构建电子商务系统
相关文章
七招帮你找到理想职业
企业用人应坚持的6个标准
吴文虎教授谈“清华IT工程师”2008新课程体系
清华IT天津校区举行8月生日会
求职者行走职场 面试爱你在心口难开
面试礼仪为你加分
学习心得---马建文
就业培训之面试问题
打印
收藏
关闭