氧气中毒 - J2EE

爪吐奕奕征途
posts - 24, comments - 10, trackbacks - 0, articles - 0
   :: 首页 :: 新随笔 ::  ::  :: 管理

Struts学习笔记(一)-struts概念和体系结构

Posted on 2006-06-04 18:00 氧气中毒 阅读(1477) 评论(0)  编辑  收藏 所属分类: Framework

一、 Struts 的与 Web App 的关系

     struts叫做web framework,其主要基于web层的应用系统开发。按照J2EE Architecture的标准,struts应当和jsp/servlet一样,存在于web container一层。

3.jpg


二、 Struts 的体系结构
       我们说struts frameworkMVC 模式的体现,下面我们就从分别从模型、视图、控制来看看struts的体系结构(Architecture)。下图显示了struts framework的体系结构响应客户请求时候,各个部分工作的原理。

2.jpg

1、 从视图角度( View

首先, Struts 提供了 Java org. apache.struts.action.ActionForm Java 开发者将该类细分来创建表单 bean 。在运行时,该 bean 有两种用法:
  JSP 准备相关的 HTML ,表单以进行显示时, JSP 将访问该

bean( 它保存要放入表单中的值 ) 。那些值是从业务逻辑或者是从先前的用户输入来提供的。

            当从 Web 浏览器中返回用户输入时,该 bean 将验证并保存该输入以供业务逻辑或 ( 如果验证失败的话 ) 后续重新显示使用。

其次, Struts 提供了许多定制 JSP 标记,它们的使用简单,但是它们在隐藏信息方面功能强大。例如,除了 bean 名称和给定 bean 中每个段的名称之外,页面设计者不需要知道有关表单 bean 的更多信息。

2、 从模型角度( Model

Struts 虽然不直接有助于模型开发。 Struts中,系统 模型 的状态主要由ActiomForm Bean和值对象体现。

3、 从控制器角度( Controller

    Struts framework中, Controller主要是ActionServlet,但是对于业务逻辑的操作则主要由ActionActionMappingActionForward这几个组件协调完成(也许这几个组件,应该划分到模型中的业务逻辑一块)。其中,Action扮演了真正的控制逻辑的实现者,而ActionMappingActionForward则指定了不同业务逻辑或流程的运行方向。


 
三、基本组件包

整个struts大约有15包,近200个类所组成,而且数量还在不断的扩展。在此我们不能一一介绍,只能列举几个主要的简要的介绍一下。下表说明了目前struts api中基本的几个组件包,包括action,actions,config,util,taglib,validator。下图则显现了这几个组件包之间的关系。其中action是整个struts framework的核心

org.apache.struts.action

基本上,控制整个struts framework的运行的核心类、组件都在这个包中,比如我们上面提到的控制器ActionServlet。已经Action,ActionForm,ActionMapping等等。struts1.11.0多了 DynaActionForm 类。增加了动态扩展生成FormBean功能

org.apache.struts.actions

这个包是主要作用是提供客户的http请求和业务逻辑处理之间的特定适配器转换功能,而1.0版本中的部分动态增删FromBean的类,也在struts1.1中被Action包的DynaActionForm组件所取代

org.apache.struts.config

提供对配置文件struts-config.xml元素的映射。这也是sturts1.1中新增的功能

org.apache.struts.util

Strtuts 为了更好支持web application的应用,体统了一个些常用服务的支持,比如Connection PoolMessage Source。详细信息请参考

http://jakarta.apache.org/struts/api/org/apache/struts/util/package-summary.html

org.apache.struts.taglib

这不是一个包,而是是一个客户标签类的集合。下面包括Bean TagsHTML TagsLogic TagsNested TagsTemplate Tags这几个用于构建用户界面的标签类。

org.apache.struts.validator

Struts1.1 framework 中增加了validator framework,用于动态的配置from表单的验证。详细信息请参阅 http://home.earthlink.net/~dwinterfeldt/

1.jpg


 

 


只有注册用户登录后才能发表评论。


网站导航: