没有合适的资源?快使用搜索试试~ 我知道了~
strtus整体架构及核心标签库的介绍
需积分: 9 23 下载量 53 浏览量
2007-09-22
10:10:40
上传
评论
收藏 490KB DOC 举报
温馨提示
试读
26页
struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发,欢迎下载!
资源推荐
资源详情
资源评论
目录
序
…………………………………………………………………………………………………1
目录
…………………………………………………………………………………………………2
Struts 框架
1. struts 压缩包内容………………………………………………………………………3
2. struts 体系结构(模型-视窗-控制器)…………………………………………………3
3. struts 框架的组件………………………………………………………………………4
3.1 struts 配置文件……………………………………………………………………5
3.2 ActionServlet 类……………………………………………………………………7
3.3 ActionMapping 类……………………………………………………………………
9
3.4 Action 类……………………………………………………………………………9
3.5 ActionForm 类………………………………………………………………………
10
3.6 ActionForward 类……………………………………………………………………
11
3.7 错误处理………………………………………………………………………………11
Struts 标记库
4. struts 标记库………………………………………………………………………………
13
4.1 Bean 标记………………………………………………………………………………
13
4.1.1 Bean 复制标记…………………………………………………………………
13
4.1.2 定义脚本变量标记……………………………………………………………13
4.1.3 显示 bean 属性…………………………………………………………………
14
4.1.4 消息国际化标记………………………………………………………………15
4.2 逻辑标记………………………………………………………………………………16
4.2.1 条件标记………………………………………………………………………16
4.2.2 重复标记………………………………………………………………………18
4.2.3 转发和重定向标记……………………………………………………………18
4.3 HTML 标记………………………………………………………………………………
19
4.3.1 显示表单元素和输入控件……………………………………………………19
4.3.2 显示错误信息的标记…………………………………………………………23
4.3.3 其他 HTML 标记…………………………………………………………………
24
4.4 模板标记………………………………………………………………………………24
Struts 框架
框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于 的
应用程序的开发。
本章详细讨论 架构。我们将看到 是如何清晰地区分控制,事务逻辑和外
观,从而简化了开发应用程序过程的。我们还将介绍 提供的类如何使得开发工作更
加简单,这些类包括:
控制程序流程的类
实现和执行程序事务逻辑的类
自定义的标记库使得创建和验证 表单更加容易
1.Struts 压缩包内容
文件夹 包含两个目录,lib 和 webapps。在 lib 目录中有使用 struts 创
建应用程序是所需的文件:
文件 描述
包含 !"#$%&$' 类。如果我们要使用
提供的数据资源,就需要将这个文件拷贝到 ()'*+,
# 下
-
包含 中所有的 . 类。同样也需要拷贝到 ()'*+,#
下
/#
标记库描述器文件,描述了多个 标记库中的自定义标
记。同样要拷贝到 ()'*+,# 下
在 webapps 目录下有如下文件:
Web 应用程序 描述
-#"
一个简单的 应用程序
-!0" !"
包含 站点上所有 文档
-0#
- 很多特性的示范
- %#
主要用于对自定义标签库进行增加而使用的
测试页,但也可以示范如何使用 标
记
-0#
包含 模板标记的介绍和范例
-#!
一个简单的例子,示范如何使用 框
架上传文件
2.Struts 体系结构
让我们从 角度观察 框架中的组件
框架中三个部分:模型,视窗和控制器。
模型
在 框架中,模型分为两个部分:
系统的内部状态
可以改变状态的操作(事务逻辑)
内部状态通常由一组 & "+!0." 表示。根据设计或应用程序复杂度的不同,
这些 " 可以是自包含的并具有持续的状态,或只在需要时才获得数据(从某个数据
库)。
大型应用程序通常在方法内部封装事务逻辑(操作),这些方法可以被拥有状态信息的
" 调用。比如购物车 ",它拥有用户购买商品的信息,可能还有 123方法
用来检查用户的信用卡,并向仓库发定货信息。
小型程序中,操作可能会被内嵌在 & !" 类,它是 框架中控制器角色的一部分。
当逻辑简单时这个方法很适合。
建议用户将事务逻辑(要做什么)与 & !" 类所扮演的角色(决定做什么)分开。
视窗
由 -$ 建立, 包含扩展自定义标签库,可以简化创建完全国际化用户界面的过程。
控制器
中 ,基 本的控制 器组 件是 & !"-.# 类中 的实例 .#, 实际使 用的
.# 在配置文件中由一组映射(由 & !" "% 类进行描述)进行定义。
3.Struts 框架中的组件
2 由 于 4-) 工 具 还 未 能 下 载 , 只 能 找 来 这 幅 图 , 它 说 明 了 一 定 问 题 , 特 别 是
& !")!,但它并没有将 & !" "%,-$ 和 % 5 包含进来,有时间作
完替换)
框架中所使用的组件:
ActionServlet
控制器
ActionClass
包含事务逻辑
ActionForm
显示模块数据
ActionMapping
帮助控制器将请求映射到操作
ActionForward
用来指示操作转移的对象
ActionError
用来存储和回收错误
Struts 标记库 可以减轻开发显示层次的工作
下面我们看看各自在框架中所扮演的角色和责任。
3.1 Struts 配置文件
这是将 组件结合在一起的东东:!"6%0#。默认值
,()'*+,!"6%0#。配置文件可以定义:
全局转发
& !" "% 类
& !"+!0"
数据源
配置全局转发
全局转发用来在 -$ 页之间创建逻辑名称映射。转发都可以通过对调用操作映射的实
例来获得,例如:
!" "%'"6"+!27#!% #*0839
全局转发的例子:2所有的例子我没有进行解释,一是结合表可以理解,二是例子大部分来
自系列四的示例,你应该在作完实验后,再来看一便3
:%#!#;!<
:;!"0=>!!>1=>?!! >?<
</global-forwards>
属性 描述
*0
全局转发的名字
$1
与目标 @4 的相对路径
配置 ActionMapping
& !" "% 对象帮助进行框架内部的流程控制,它们可将请求 @4' 映射到
& !" 类A并且将 & !" 类与 & !"+!0" 相关联。& !"-.# 在内部使用这
些映射,并将控制转移到特定 & !" 类的实例。所有 & !" 类使用 ;!023方法实现
特定应用程序代码,返回一个 & !"+! 对象,其中包括响应转发的目标资源名称。
例如:
: !"0 "%<
: !"1=>?!!>
5=>!!& !">
"0=>!!+!0>
!=>B>
"=>?!!><
:? !"<
:;!"0=8; #81=8?!!8?<
:;!"0=8"#81=8? "8?<
</action-mappings>
属性 描述
$1
& !"类的相对路径
*0
与本操作关联的& !""的名称
5
连接到本映射的& !"类的全称(可有包名)
-!
& !"+!0"的作用域(请求或会话)
$6
用来匹配请求参数与"属性的前缀
-C
用来匹配请求参数与"属性的后缀
作用域名称。
#*0 & !" "%对象的类的完全限定名默认的类是
!%1 !"& !" "%
"
输入表单的路径,指向"发生输入错误必须返回的控
制
""!"
设为,操作将被作为所有没有定义的
& !" "%的@4'的默认操作
.#
设置为,则在调用& !"对象上的;!023方法
前,& !"-.#将调用& !"+!0"的
.# 23方法来进行输入检查
通过<forward>元素,可以定义资源的逻辑名称,该资源是Action类的响应要转发的目标。
属性 描述
' '
#*0
& !"+! 类的完全限定名,默认是
!%1 !"& !"+!
*0
操作类访问 & !"+! 时所用的逻辑
剩余25页未读,继续阅读
资源评论
baitianfu
- 粉丝: 2
- 资源: 16
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Python的pyqt5写的图书管理系统期末大作业源码带文档设计.zip
- pcff_interface_v1_5.off
- apk.tw_LineLite_v8a_v.2.17.1_sign.apk
- Elasticsearch实战:构建高效搜索系统的秘诀.zip
- HTML+CSS+JS网页设计:从入门到精通.zip
- 数据库课程设计:从理论到实践的全面指南.zip
- Python闭包:深入理解与应用场景解析.zip
- Win64OpenSSL-3-3-0.exe
- 课高分程设计-基于C++实现的民航飞行与地图简易管理系统-南京航空航天大学
- 航天器遥测数据故障检测系统python源码+文档说明+数据库(课程设计)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功