`

转 Struts框架

阅读更多

 

 

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是一个开源的...

    struts框架详细介绍

    Struts框架是一个基于MVC(模型-视图-控制器)设计模式的Java Web应用程序框架,由Apache软件基金会的Struts项目开发。它旨在提供一种结构化的、可维护性高的开发方式,以帮助开发者构建Web应用。以下是Struts框架的...

    基于MVC模式Struts框架

    ### 基于MVC模式的Struts框架详解 #### 摘要 Struts框架是一种流行的、基于MVC(Model-View-Controller)模式的Java Web应用开发框架,它极大地提高了开发效率并增强了应用程序的可维护性。本文旨在深入探讨Struts...

    struts框架与标签.doc

    Struts框架是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它为开发者提供了一种组织和管理应用程序逻辑的方式。Struts框架的主要目标是简化开发过程,提高代码的可维护性和可扩展性。以下...

    MVC模式和Struts框架

    MVC模式和Struts框架

    Struts框架分析与应用.pdf

    ### Struts框架分析与应用 #### 一、MVC模式概述 MVC(Model-View-Controller)是一种软件架构模式,旨在将应用分为三个核心部分:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于清晰地区分...

    Struts框架应用于jsp中

    Struts框架是Java Web开发中的一个关键组件,它在JSP(JavaServer Pages)基础上提供了一种更规范、更易维护的MVC(Model-View-Controller)架构。标题"Struts框架应用于jsp中"表明我们将探讨如何在JSP应用程序中...

    JAVA Struts 框架 代码示例

    Java Struts框架是Java开发Web应用的一个经典框架,由Apache软件基金会维护,它基于Model-View-Controller(MVC)设计模式,旨在简化企业级应用的开发过程。本压缩包包含的是"day01_all"的学习资料,可能包括源代码...

    基于struts框架的学生管理系统

    《基于Struts框架的学生管理系统详解》 在Java Web开发领域,Struts框架是一个广泛应用的MVC(Model-View-Controller)框架,它为构建可维护、可扩展的Web应用程序提供了强大的支持。本项目“基于Struts框架的学生...

    Struts框架技术

    Struts框架技术是一种广泛应用于Java Web开发中的开源框架,它主要负责处理MVC(Model-View-Controller)架构中的Controller部分。Struts1是其早期版本,而Struts2则是其后续的升级版,提供了更丰富的功能和更好的...

    struts框架的基本实现

    Struts框架是Java Web开发中常用的一个开源MVC框架,由Apache软件基金会维护。它提供了一种组织应用程序的方式,使得开发者可以将业务逻辑、控制流程和表现层分离,从而提高开发效率和代码可维护性。在"struts框架的...

    Struts框架学习大全

    Struts框架学习大全,包括《Struts架构指导》、《Struts快速学习指南》、《Struts中文手册》、《精通Struts技术》、《Struts 1.1 API》、《Struts 2.0 API》、《Struts 2.0入门》和《struts 2.0中文帮助手册》。

    J2EE项目实训——Struts框架技术.rar

    Struts框架是Java EE(以前称为J2EE)平台上的一个关键组件,它是一个开源的MVC(Model-View-Controller)框架,用于构建可维护性高、结构清晰的Web应用程序。本实训主要关注如何使用Struts框架进行实际项目的开发,...

    仿struts框架的自制代码

    Struts框架是一款经典的Java Web开发框架,由Apache软件基金会维护,它基于Model-View-Controller(MVC)设计模式,极大地简化了Java Web应用程序的开发。在这个“仿struts框架的自制代码”中,我们可以看到作者尝试...

    重构mvc实现struts框架

    **标题解析:** "重构mvc实现struts框架" 这个标题表明了我们要探讨的主题是关于软件开发中的重构过程,特别关注的是如何从一个简单的MVC(Model-View-Controller)模型出发,逐步演进到实现Struts框架的初步形态。...

    struts框架

    Struts框架是一种基于MVC(模型-视图-控制器)设计模式的Java EE Web应用框架,主要用于简化企业级Java Web应用的开发。Struts作为Java EE应用中不可或缺的一部分,尤其在Java社区中广泛应用。本文主要介绍Struts...

    Struts框架讲解

    Struts框架是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它在1990年代末由Apache软件基金会的Jakarta项目推出。MVC模式是一种将业务逻辑、用户界面和数据访问分离开来的方法,使得代码更...

    struts框架\Struts框架的使用.ppt

    Struts框架是一个基于MVC(Model-View-Controller)设计模式的Java web应用程序框架,它在JSP Model2设计模式的基础上进行了进一步的抽象和优化,旨在提供更清晰的职责划分和更好的可扩展性,尤其适合大型项目的开发...

    Struts框架(Struts框架详细介绍)

    Struts框架是一个基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它由Apache软件基金会开发并维护。Struts框架旨在提供一种结构化的、可维护性高的开发方式,帮助开发者构建动态的、数据驱动的...

    struts框架的最简单应用,懂的就不用下了

    Struts框架是Java Web开发中的一个关键工具,它基于Model-View-Controller(MVC)设计模式,旨在简化Web应用程序的构建。这个压缩包可能是为了帮助初学者理解并开始使用Struts框架的基础知识。 首先,Struts框架的...

Global site tag (gtag.js) - Google Analytics