Struts框架
struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。
本章详细讨论struts架构。我们将看到struts是如何清晰地区分控制,事务逻辑和外观,从而简化了开发应用程序过程的。我们还将介绍struts提供的类如何使得开发工作更加简单,这些类包括:
l 控制程序流程的类
l 实现和执行程序事务逻辑的类
l 自定义的标记库使得创建和验证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框架中,模型分为两个部分:
l 系统的内部状态
l 可以改变状态的操作(事务逻辑)
内部状态通常由一组ActinForm JavaBean表示。根据设计或应用程序复杂度的不同,这些Bean可以是自包含的并具有持续的状态,或只在需要时才获得数据(从某个数据库)。
大型应用程序通常在方法内部封装事务逻辑(操作),这些方法可以被拥有状态信息的bean调用。比如购物车bean,它拥有用户购买商品的信息,可能还有checkOut()方法用来检查用户的信用卡,并向仓库发定货信息。
小型程序中,操作可能会被内嵌在Action类,它是struts框架中控制器角色的一部分。当逻辑简单时这个方法很适合。
建议用户将事务逻辑(要做什么)与Action类所扮演的角色(决定做什么)分开。
视窗
由JSP建立,struts包含扩展自定义标签库,可以简化创建完全国际化用户界面的过程。
控制器
struts中,基本的控制器组件是ActionServlet类中的实例servelt,实际使用的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。配置文件可以定义:
l 全局转发
l ActionMapping类
l ActionForm bean
l JDBC数据源
配置全局转发
全局转发用来在JSP页之间创建逻辑名称映射。转发都可以通过对调用操作映射的实例来获得,例如:
actionMappingInstace.findForward(“logicalName”);
全局转发的例子:(所有的例子我没有进行解释,一是结合表可以理解,二是例子大部分来自系列四的示例,你应该在作完实验后,再来看一便)
<global-forwards>
<forward name="bookCreated" path="/BookView.jsp"/>
</global-forwards>
属性
|
描述
|
Name
|
全局转发的名字
|
Path
|
与目标URL的相对路径
|
配置ActionMapping
ActionMapping对象帮助进行框架内部的流程控制,它们可将请求URI映射到Action类,并且将Action类与ActionForm bean相关联。ActionServlet在内部使用这些映射,并将控制转移到特定Action类的实例。所有Action类使用perform()方法实现特定应用程序代码,返回一个ActionForward对象,其中包括响应转发的目标资源名称。例如:
<action-mappings>
<action path="/createBook"
type="BookAction"
name="bookForm"
scope="request"
input="/CreateBook.jsp">
</action>
<forward name=”failure” path=”/CreateBook.jsp”/>
<forward name=”cancel” path=”/index.jsp”/>
</action-mappings>
属性
|
描述
|
Path
|
Action类的相对路径
|
Name
|
与本操作关联的Action bean的名称
|
Type
|
连接到本映射的Action类的全称(可有包名)
|
Scope
|
分享到:
相关推荐
根据提供的文件信息,“Struts框架原理图”主要阐述了Struts框架的工作原理、流程以及页面间的跳转机制。为了更好地理解和应用Struts框架,本文将深入解析这些关键知识点。 ### Struts框架概述 Struts是一个开源的...
Struts框架是一个基于MVC(模型-视图-控制器)设计模式的Java Web应用程序框架,由Apache软件基金会的Struts项目开发。它旨在提供一种结构化的、可维护性高的开发方式,以帮助开发者构建Web应用。以下是Struts框架的...
### 基于MVC模式的Struts框架详解 #### 摘要 Struts框架是一种流行的、基于MVC(Model-View-Controller)模式的Java Web应用开发框架,它极大地提高了开发效率并增强了应用程序的可维护性。本文旨在深入探讨Struts...
Struts框架是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它为开发者提供了一种组织和管理应用程序逻辑的方式。Struts框架的主要目标是简化开发过程,提高代码的可维护性和可扩展性。以下...
MVC模式和Struts框架
### Struts框架分析与应用 #### 一、MVC模式概述 MVC(Model-View-Controller)是一种软件架构模式,旨在将应用分为三个核心部分:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于清晰地区分...
Struts框架是Java Web开发中的一个关键组件,它在JSP(JavaServer Pages)基础上提供了一种更规范、更易维护的MVC(Model-View-Controller)架构。标题"Struts框架应用于jsp中"表明我们将探讨如何在JSP应用程序中...
Java Struts框架是Java开发Web应用的一个经典框架,由Apache软件基金会维护,它基于Model-View-Controller(MVC)设计模式,旨在简化企业级应用的开发过程。本压缩包包含的是"day01_all"的学习资料,可能包括源代码...
《基于Struts框架的学生管理系统详解》 在Java Web开发领域,Struts框架是一个广泛应用的MVC(Model-View-Controller)框架,它为构建可维护、可扩展的Web应用程序提供了强大的支持。本项目“基于Struts框架的学生...
Struts框架技术是一种广泛应用于Java Web开发中的开源框架,它主要负责处理MVC(Model-View-Controller)架构中的Controller部分。Struts1是其早期版本,而Struts2则是其后续的升级版,提供了更丰富的功能和更好的...
Struts框架是Java Web开发中常用的一个开源MVC框架,由Apache软件基金会维护。它提供了一种组织应用程序的方式,使得开发者可以将业务逻辑、控制流程和表现层分离,从而提高开发效率和代码可维护性。在"struts框架的...
Struts框架学习大全,包括《Struts架构指导》、《Struts快速学习指南》、《Struts中文手册》、《精通Struts技术》、《Struts 1.1 API》、《Struts 2.0 API》、《Struts 2.0入门》和《struts 2.0中文帮助手册》。
Struts框架是Java EE(以前称为J2EE)平台上的一个关键组件,它是一个开源的MVC(Model-View-Controller)框架,用于构建可维护性高、结构清晰的Web应用程序。本实训主要关注如何使用Struts框架进行实际项目的开发,...
Struts框架是一款经典的Java Web开发框架,由Apache软件基金会维护,它基于Model-View-Controller(MVC)设计模式,极大地简化了Java Web应用程序的开发。在这个“仿struts框架的自制代码”中,我们可以看到作者尝试...
**标题解析:** "重构mvc实现struts框架" 这个标题表明了我们要探讨的主题是关于软件开发中的重构过程,特别关注的是如何从一个简单的MVC(Model-View-Controller)模型出发,逐步演进到实现Struts框架的初步形态。...
Struts框架是一种基于MVC(模型-视图-控制器)设计模式的Java EE Web应用框架,主要用于简化企业级Java Web应用的开发。Struts作为Java EE应用中不可或缺的一部分,尤其在Java社区中广泛应用。本文主要介绍Struts...
Struts框架是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它在1990年代末由Apache软件基金会的Jakarta项目推出。MVC模式是一种将业务逻辑、用户界面和数据访问分离开来的方法,使得代码更...
Struts框架是一个基于MVC(Model-View-Controller)设计模式的Java web应用程序框架,它在JSP Model2设计模式的基础上进行了进一步的抽象和优化,旨在提供更清晰的职责划分和更好的可扩展性,尤其适合大型项目的开发...
Struts框架是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它由Apache软件基金会开发并维护。Struts框架旨在提供一种结构化的、可维护性高的开发方式,帮助开发者构建动态的、数据驱动的...
Struts框架是Java Web开发中的一个关键工具,它基于Model-View-Controller(MVC)设计模式,旨在简化Web应用程序的构建。这个压缩包可能是为了帮助初学者理解并开始使用Struts框架的基础知识。 首先,Struts框架的...