资讯   |   开发   |   选机中心   |   产品大全 | IBM | 惠普 | 联想 | 戴尔 | 苹果 | 神舟
更多: | 华硕 | 明基 | 方正 | 紫光 | TCL | 夏新 | 联宝 | 宏碁 | 七喜 | 长城 | 清华同方 | 海尔 | 三星 | 东芝 | 索尼 | 富士通 | LG | 技术 | ddnoon
当前位置:笔记本 > 编程开发 >
Advertisement
文章正文

Struts的体系结构 _编程

类型:转载   责任编辑:asp.net   日期:2007/05/23


热门软件下载:


   
  • 基于TCP多播的JGroup协议  
  • 新手入门经典:Jsp环境配置完全图解  
  • [原创]Swing技巧8:完美的LookAndFeel解决方案  
  • Struts 的安装、配置与运行 选择自 szmarx 的 Blog  
  • Hibernate实践(二)  
  • J2ME相关名词解释及概念阐述  
  • J2ME Web 服务入门  
  • 中文文件下载失败的前因后果  
  • [引用] 既然有了Swing, 那为什么还要SWT?  
  • JDBC连接MYSQL  
  • 页面导航:

    正文内容:

    struts的体系结构

    struts framework architecture

      

    关键字

      struts,framework,architecture,componennt,mvc

    预备知识

      在开始学习struts以前,以下的知识点,需要有所了解:模型-视图-控制的软件构架模式,jsp/servlet的web层应用,j2ee体系结构。如果对客户标签类(customer taglib)有所了解也许更容易理解struts本身的taglib。

     

    概述

      本文主要从概念上讲解什么是struts framework,它的框架结构,组件结构,以及简单的配置讲解。对于其应用请参考后面的“struts安装及应用”和“struts实用案例分析”。

      文章的包括了如下四大部分:

    一、    framework的概念和体系简介 (framework conception and architecture

    二、    struts的概念和体系结构(struts conception and architecture

    三、    struts的工作原理和组件(struts componennts

    四、    struts配置文件简介(struts deployment description

     

    一、  framework概念

    一直以来我们都说struts是一个web framework。那么让我么先来看看什么是framework。(我想用“框架”一词来翻译framework,可是后来越来越发现不太理想和完备,所以就直接用framework一词)

    framework概念并不是很新了,伴随着软件开发的发展,在多层的软件开发项目中,可重用、易扩展的,而且是经过良好测试的软件组件,越来越为人们所青睐。这意味着人们可以将充裕的时间用来分析、构建业务逻辑的应用上,而非繁杂的代码工程。于是人们将相同类型问题的解决途径进行抽象,抽取成一个应用框架。这也就是我们所说的framework。

      framework的体系提供了一套明确机制,从而让开发人员很容易的扩展和控制整个framework开发上的结构。 通常,framework的结构中都有一个“命令和控制”组件("command and control" component)——framework factory and manager。

    图片(2):framework体系

     

     

       通过基于请求响应(request-response)模式的应用framework,基本上有如下几个表现逻辑结构组成。

       (1)控制器(controller)——控制整个framework中各个组件的协调工作。

       (2)业务逻辑层(business logic)——这是framework所希望解决问题的关键。当然对framwork本身来说,这里仅仅只是概念和几个提够服务的基础组件,真正的实现与客户的业务逻辑接轨,还需要开发人员在framework上再次扩展。

       (3)数据逻辑层(data logic)——绝大应用系统都需要涉及到数据交互,这一层次主要包括了数据逻辑和数据访问接口。对于数据逻辑来说,如果你了解数据建模(data modeling)可能就很容易理解。

     

       下面就进入我们的正题——struts的结构

     

    二、  struts的概念和体系结构

    struts有一组相互协作的类(组件)、serlvet以及jsp tag lib组成。基于struts构架的web应用程序基本上符合jsp model2的设计标准,可以说是mvc设计模式的一种变化类型。根据上面对framework的描述,我们很容易理解为什么说struts是一个web framwork,而不仅仅是一些标记库的组合。但 struts 也包含了丰富的标记库和独立于该框架工作的实用程序类。

    struts有其自己的控制器(controller),同时整合了其他的一些技术去实现模型层(model)和视图层(view)。在模型层,struts可以很容易的与数据访问技术相结合,包括ejb,jdbc和object relation bridge。在视图层,struts能够与jsp, velocity templates,xsl等等这些表示层组件想结合。

     

    2.1 struts的与web app的关系

     


    既然struts叫做web framework,那么其肯定主要基于web层的应用系统开发。按照j2ee architecture的标准,struts应当和jsp/servlet一样,存在于web container一层。如图片(3)所显示

    图片(3): strutswebapp的关系

     

    2.2 struts的体系结构

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


    图片(4):struts体系结构

     

      2.2.1从视图角度(view

      主要由jsp建立,struts自身包含了一组可扩展的自定义标签库(taglib),可以简化创建用户界面的过程。目前包括:bean tags,html tags,logic tags,nested tags,template tags 这几个taglib。有关它们的详细资料请参考struts用户手册

    2.2.2从模型角度(model

    模型主要是表示一个系统的状态(有时候,改变系统状态的业务逻辑操作也也划分到模型中)。在struts中,系统的状态主要有actiomform bean体现,一般情况下,这些状态是非持久性的。如果需要将这些状态转化为持久性数据存储,struts本身也提供了utitle包,可以方便的与数据库操作

      2.2.3 从控制器角度(controller

      在struts framework中, controller主要是actionservlet,但是对于业务逻辑的操作则主要由action、actionmapping、actionforward这几个组件协调完成(也许这几个组件,应该划分到模型中的业务逻辑一块)。其中,action扮演了真正的业务逻辑的实现者,而actionmapping和actionforward则指定了不同业务逻辑或流程的运行方向。

     

    2.3 struts的基本组件包

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

    org.apache.struts.action


     

     
    热门推荐笔记本: IBM笔记本
    相关文章:
    webmaster:popbb@126.com   最佳浏览:1024X768 MSIE
    ©2007 popbb.net All Rights Reserved