`
mars李
  • 浏览: 48799 次
  • 性别: Icon_minigender_1
  • 来自: 柳州
社区版块
存档分类
最新评论

Struts的起源

阅读更多
 Struts最早是作为Apache Jakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServer Pages 、Servlet、标签库以及面向对象的技术水准。Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。这个框架之所以叫"Struts",是为了提醒我们记住那些支撑我们房屋,建筑,桥梁,甚至我们踩高跷时候的基础支撑。这也是一个解释Struts在开发Web应用程序中所扮演的角色的精彩描述。当建立一个物理建筑时,建筑工程师使用支柱为建筑的每一层提供支持。同样,软件工程师使用Struts为业务应用的每一层提供支持。它的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。我们仍然需要学习和应用该架构,不过它将可以完成其中一些繁重的工作。如果想混合使用Servlets和JSP的优点来建立可扩展的应用,Struts是一个不错的选择。
  
    早期Smalltalk 程序语言便采用了MVC(Model-View -Controller) 模式( Patterns ) 以增加程序代码弹性,MVC模式将程序代码整理切割为三部份,Model 部分是业务与应用领域( Business domain) 相关逻辑、管理状态之对象,Controller 部分接收来自View 所输入的资料并与Model 部分互动,是业务流程控制( Flow Control) 之处,View 部分则负责展现资料、接收使用者输入资料。在Java 应用中,JFC/Swing、AWT、JSP 皆是可用作View 之技术规格,而JavaBean 与Enterprise JavaBean 规格则可用于Model 程序代码,一旦应用程序以MVC 模式加以适当之分割,Model 部分程序代码可在不同使用者接口外观之应用程序中重复使用。
  
    随着JSP 与Servlet 技术大量应用于以Web 为基础之应用程序,Java 开发人员群体认为应以较佳之模式以提升Web 应用程序之可维护性与重复使用性。早期JSP 规格书中曾列举两种可行之JSP 应用架构,分别为Model1 与Model 2。
  
    在Model 1 架构中,JSP 直接处理Web 浏览器送来之请求( Request ),并辅以JavaBean 处理应用相关逻辑。Model 1 架构单纯编写比较容易,但在Model 1 中JSP 可能同时肩负View 与Controller 角色,两类程序代码有可能混杂而不易维护。而Model 2 中将Servlet 纳入架构中扮演前端Controller 角色,将Web 浏览器送出之请求集中送至Servlet ,Servlet 可集中管理使用者登入、权限控制、多国语言转换等前置处理,再视需求转向给对应之JSP 处理。Model 2 中采用了较佳之MVC 模式,但增加了编写复杂度。
  
    Struts是Apache软件基金下Jakarta项目的一部分。除Struts之外,还有其他成功的开源产品,包括Tomcat, Ant 和Velocity。2000 年Craig R. McClanahan 先生贡献了他编写的JSP Model 2 架构之Application Framework 原始程序代码给Apache 基金会,成为Apache Jakarta 计划Struts Framework 前身。
  
    开始的代码基础从2000年5月开始开发,直到2001年6月,1.0版本发布。有30 多个开发者参与进来,并有数千人参与到讨论组中。Struts 代码基础由一个志愿的Commnitter团队来管理。到2002年,Struts 小组共有9个志愿Commnitter。
  
    Struts框架的主要架构设计和开发者是Craig R.McClanahan。Craig 也是Tomcat 4的主要架构师,以及Java Web Services Developer Pack的主要架构师和实现者。他现在是Sun的JavaServer Faces (JSR-127) 以及J2EE平台的Web层架构的规范领导。Craig R. McClanahan 先生是JCP ExpertGroup 成员之一,曾参与JSP 规格制定与Tomcat 4 之编写,因此Struts Framework 广受Java 开发人员群体所重视。Borland 自2002 年底开始于开发工具JBuilder 中支持Struts Framework。
分享到:
评论

相关推荐

    Struts详解---Struts的起源 Struts的流程 Struts框架 Struts2

    Struts最早是作为Apache Jakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServer Pages 、Servlet、标签库以及面向对象的技术水准 Struts2和Struts1的不同

    Struts2.0基础知识培训

    — Web应用的发展 — Model 1和Model 2 — MVC思想 — MVC模式的优势 — 常用MVC框架及其特征 ...— Struts 2的起源 — Struts 2的框架架构 — Struts 2的标签库 — Struts 2的控制器组件 — Struts 1和Struts 2的对比

    Struts2权威指南

     1.2 Struts 2的起源和背景8  1.2.1 Struts 1简介及存在的问题9  1.2.2 WebWork简介12  1.2.3 Struts 2起源15  1.3 Struts 2体系介绍16  1.3.1 Struts 2框架架构16  1.3.2 Struts 2的配置文件17  1.3.3 ...

    Struts2简介与入门

    struts2简介与入门,简要介绍了struts2的起源和初步的使用方法,适合入门学习

    struts2.0(高清晰)

    — Web应用的发展 — Model 1和Model 2 — MVC思想 — MVC模式的优势 ...— Struts 2的起源 — Struts 2的框架架构 — Struts 2的标签库 — Struts 2的控制器组件 — Struts 1和Struts 2的对比

    struts2教程.CHM文档

    本章要点 — Web应用的发展 — Model 1和Model 2 ...— Struts 2的起源 — Struts 2的框架架构 — Struts 2的标签库 — Struts 2的控制器组件 — Struts 1和Struts 2的对比 .......................

    struts2-指南

    — Web 应用的发展 — Model 1 和Model 2 — MVC 思想 — MVC 模式的优势 — 常用MVC 框架及其特征 — Struts 1 的基本结构及其存在的问题 — WebWork 的基本结构 — Struts 2 的起源 — ...

    Struts2.0中文教程

    — Struts 2的起源 — Struts 2的框架架构 — Struts 2的标签库 — Struts 2的控制器组件 — Struts 1和Struts 2的对比

    Struts原理、开发及项目实施

    Struts原理、开发及项目实施 Holen 2002-9-12 <br/>1、 摘要 2、 关键词 3、 Framework 4、 Struts的起源 5、 Struts工作原理 6、 Struts安装 7、 一个实例 8、 Struts优缺点...

    Struts 2权威指南:基于WebWork核心的MVC开发

    本章要点 — Web应用的发展 — Model 1和Model 2 — MVC思想 — MVC模式的优势 — 常用MVC框架及其特征 — Struts 1的基本结构及其存在的问题 — WebWork的基本结构 — Struts 2的起源 — Struts 2的框架架构 — ...

    struts与ajax设计

    ObjectRelationalBridge(OJB) 1.0.4:OJB是一个开源的对象关系映射工具,最初起源于Apache DB Project。Lucene:它是一个基于Java的开源搜索引擎。可以从http://lucene.apache.org下载Lucene1.9.1。

    Java知识拾遗:三大框架的技术起源

    Struts、Hibernate和Spring是我们Java开发中的常用关键,他们分别针对不同的应用场景给出最合适的解决方案。但你是否知道,这些知名框架最初是怎样产生的? 我们知道,传统的Java Web应用程序是采用JSP+Servlet+...

    面向对象设计 PPT

    主要讲的ssi框架,MVC对于我们来说,已经不陌生了,它起源于20世纪80年代针对smalltalk语言的一种软件设计模式,现在已被广泛应用。近年来,随着java的盛行,MVC的低耦合性、高重用性、可维护性、软件工程的可管理性...

    JAVA公共资源模块的设计与开发(源代码+论文)

    1.1课题起源 1 1.2课题目的 1 1.3课题意义 1 2 系统实现架构环境与技术说明 1 2.1系统架构 1 2.2系统实现环境和技术 2 2.2.1开发环境 2 2.2.2 运行环境 2 2.3系统框架说明 2 2.3.1 struts 介绍 2 2.3.2 理解MVC设计...

    J2EE应用开发详解

    104 第8章 Struts2框架 105 8.1 Web应用的发展 105 8.2 Struts2的起源和体系结构 106 8.3 Struts2核心部分详解 108 8.3.1 核心控制器FilterDispatcher 108 8.3.2 业务逻辑控制器Action 111 8.3.3 业务逻辑组件 116 ...

    LyBBS『凌云论坛』程序系统7.6.1

    程序的架构是基于JSP/Java/Struts1.3/Ajax技术,这是基于MVC的设计,是Model-View-Controller的简写,其特色在于层次比较清楚,数据存储和业务流程及页面显示是层次分开的。 同时,这种平台另外一个大的优势在于可以...

Global site tag (gtag.js) - Google Analytics