没有合适的资源?快使用搜索试试~ 我知道了~
是一个word文档,用文字介绍了struts的基本知识,为想了解struts的初学者提供方便。
资源推荐
资源详情
资源评论
Struts 的流程
服务器启动后,根据 web.xml 加载 ActionServlet 读取 struts-config.xml 文件内容到内
存。
以登陆为例:第一次进 login.jsp 会先实例化 Form、把默认值(String 默认为空字符
串,整形默认为 0)赋给表单元素。
输入用户名密码提交表单、提交到 action 属性的 login.do,通过 ActionServlet 读
struts-config.xml 文件找到 action 下的 path 属性找到.do,通过 name 属性找 form-
beans 中的 form-bean 的 name 属性得到 ActionForm 的包名类名,先实例化 form,把
表单的值填充给 form,调用 form 的 validate 方法验证、ActionErrors 返回 null 表示验
证通过,否则失败返回 input 指定的页面.验证通过会实例化 Action,执行 Action 的
excute 方法。
[编辑本段
]
Struts 框架结构图
相应框架结构如图:
Struts 对 Model,View 和 Controller 都提供了对应的组件。
在上图中,ActionServlet,这个类是 Struts 的核心控制器,负责拦截来自用户的
请求。
Action,这个类通常由用户提供,该控制器负责接收来自 ActionServlet 的请求,
并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给 JSP 页面显示。
Model 部分
由 ActionForm 和 JavaBean 组成,其中 ActionForm 用于封装用户的请求参数,
封装成 ActionForm 对象,该对象被 ActionServlet 转发给 Action,Action 根据
ActionFrom 里面的请求参数处理用户的请求。
JavaBean 则封装了底层的业务逻辑,包括数据库访问等。
View 部分
该部分采用 JSP 实现。
Struts 提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可
以实现与 Model 的有效交互,并增加了现实功能。对应上图的 JSP 部分。
Controller 组件
Controller 组件有两个部分组成——系统核心控制器,业务逻辑控制器。
系统核心控制器,对应上图的 ActionServlet。该控制器由 Struts 框架提供,继承
HttpServlet 类,因此可以配置成标注的 Servlet。该控制器负责拦截所有的 HTTP 请求,
然后根据用户请求决定是否要转给业务逻辑控制器。
业务逻辑控制器,负责处理用户请求,本身不具备处理能力,而是调用 Model 来
完成处理。对应 Action 部分。
[编辑本段
]
Struts 框架
struts 框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于 MVC 的
web 应用程序的开发。
本章详细讨论 struts 架构。我们将看到 struts 是如何清晰地区分控制,事务逻辑和
外观,从而简化了开发应用程序过程的。我们还将介绍 struts 提供的类如何使得开发工
作更加简单,这些类包括:
控制程序流程的类
实现和执行程序事务逻辑的类
自定义的标记库使得创建和验证 HTML 表单更加容易
1. Struts 压缩包内容
文件夹 jakarta-struts-1.0.2 包含两个目录,lib 和 webapps。在 lib 目录中有使用
struts 创建应用程序是所需的文件:
文件 描述
jdbc2_0-stdext.jar 包含 JDBC2.0 Optional Package API 类。如果我们要使用
struts 提供的数据资源,就需要将这个文件拷贝到 WEB-INF\lib 下
Struts.jar 包含 struts 中所有的 java 类。同样也需要拷贝到 WEB-INF\lib 下
*.tld 标记库描述器文件,描述了多个 struts 标记库中的自定义标记。同样要拷贝到
WEB-INF\lib 下
在 webapps 目录下有如下文件:
Web 应用程序 描述
Struts-blank.war 一个简单的 web 应用程序
Struts-documentation.war 包含 struts 站点上所有 struts 文档
Struts-example.war Struts 很多特性的示范
Struts-exercisetaglib.war 主要用于对自定义标签库进行增加而使用的测试页,但
也可以示范如何使用 struts 标记
Struts-template.war 包含 struts 模板标记的介绍和范例
Struts-upload.war 一个简单的例子,示范如何使用 struts 框架上传文件
2.Struts 体系结构
让我们从 MVC 角度观察 struts 框架中的组件
框架中三个部分:模型,视窗和控制器。
◆模型
在 struts 框架中,模型分为两个部分:
系统的内部状态
可以改变状态的操作(事务逻辑)
内部状态通常由一组 ActinForm JavaBean 表示。根据设计或应用程序复杂度的不
同,这些 Bean 可以是自包含的并具有持续的状态,或只在需要时才获得数据(从某个
数据库)。
大型应用程序通常在方法内部封装事务逻辑(操作),这些方法可以被拥有状态信
息的 bean 调用。比如购物车 bean,它拥有用户购买商品的信息,可能还有
checkOut()方法用来检查用户的信用卡,并向仓库发定货信息。
小型程序中,操作可能会被内嵌在 Action 类,它是 struts 框架中控制器角色的一
部分。当逻辑简单时这个方法很适合。
建议用户将事务逻辑(要做什么)与 Action 类所扮演的角色(决定做什么)分开。
◆视窗
由 JSP 建立,struts 包含扩展自定义标签库,可以简化创建完全国际化用户界面的
过程。
◆控制器
struts 中,基本的控制器组件是 ActionServlet 类中的实例 servlet,实际使用的
servlet 在配置文件中由一组映射(由 ActionMapping 类进行描述)进行定义。
3.Struts 框架中的组件
(由于 ROSE 工具还未能下载,只能找来这幅图,它说明了一定问题,特别是
ActionErrors,但它并没有将 ActionMapping,JSP 和 Tag Library 包含进来,有时间
作完替换)
框架中所使用的组件:
ActionServlet 控制器
ActionClass 包含事务逻辑
ActionForm 显示模块数据
ActionMapping 帮助控制器将请求映射到操作
ActionForward 用来指示操作转移的对象
ActionError 用来存储和回收错误
Struts 标记库 可以减轻开发显示层次的工作
下面我们看看各自在框架中所扮演的角色和责任。
3.1 Struts 配置文件
这是将 struts 组件结合在一起的东东:struts-config.xml。默认值
\WEB-INF\struts-config.xml。配置文件可以定义:
全局转发
ActionMapping 类 帮助控制器将请求映射到操作
ActionForm bean 显示模块数据
JDBC 数据源
配置全局转发
全局转发用来在 JSP 页之间创建逻辑名称映射。转发都可以通过对调用操作映射
的实例来获得,例如:
actionMappingInstace.findForward(“logicalName”);
全局转发的例子:(所有的例子我没有进行解释,一是结合表可以理解,二是例子
大部分来自系列四的示例,你应该在作完实验后,再来看一遍)
<global-forwards>
<forward name="bookCreated" path="/BookView.jsp"/>
剩余10页未读,继续阅读
资源评论
Loadinggggg
- 粉丝: 16
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功