Struts简介

一、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安装

1、安装Struts需要的软件

Java Development Kit-- 我们需要download和install 1.2(或之后)版本的JDK。

下载地址:

http://java.sun.com/j2se

Servlet Container -- 通常的选择是下载Tomcat(至少是3.1版,推荐使用4.0以上的版本)。

下载地址:

http://jakarta.apache.org/tomcat

Ant Build System -- 如果我们通过Struts源码发布包安装,我们必须下载1.1或之后版本的ant build system。在我们通过Struts来开发我们自己的Web应用程序是,推荐使用ant来build我们的应用。

下载地址:

http://jakarta.apache.org/ant

Servlet API Classes -- 为了编译Structs自己,或应用程序使用Struts,我们需要一个包含Servlet和JSP API对象的servlet.jar包。大多数Servlet container(例如Tomcat)已经自带了这个文件。否则,我们必需下载:http://jakarta.apache.org/builds/jakarta-servletapi

XML Parser -- Structs需要一个与Java API for XML Parsing(JAXP)规格兼容的XML处理器,我们可以使用Xerces。

下载地址:

http://xml.apache.org/xerces-j

Xalan XSLT Processor -- 如果我们通过Structs源码发布版来构造我们的Structs系统,我们必须下载和安装1_2_D01或之后版本的Xalan XSLT处理器(Xerces中已自带Xalan)。这个处理器用于将基于XML的Structs文档转换为Html文档。

时间: 2024-09-28 18:22:35

Struts简介的相关文章

一种基于Struts框架的RBAC实现

1 引言 基于角色访问控制( role - based access control,RBAC) 是目前较为成熟的安全访问控制模型,它灵活地解决了权限管理.资源管理及权限审查问题,非常适合基于Web的信息系统.RBAC模型从理论上基本解决了系统用户访问控制的问题,但从技术实现的角度来看,不同的RBAC实现,对系统的开发及运行效率将有不同影响.本文结合Struts框架良好的MVC设计模式和RBAC灵活的权限管理的特点,提出一个基于Struts框架的RBAC的实现方案.方案较好地实现了RBAC模型,

详解Java的Struts框架以及相关的MVC设计理念_java

struts简介Struts是Apache软件基金会(ASF)赞助的一个开源项目.它最初是jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目.它通过采用JavaServlet/JSP技术,实现了基于JavaEEWeb应用的MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产品. Struts发展历史 Struts是作为ApacheJakarta项目的组成部分,项目的创立者希望通过对该项目的研究,改进和提高JavaServerPages.servlet.标签库以及面向

struts的各个类的简介

问题描述 struts的各个类的简介 有谁能给简单介绍下,struts的各个类都是做什么的? action,eventaction,handle,form,checek.把调用关系也给讲解下. MVC的M:form MVC的V:jsp MVC的C:handle 我理解的MVC是对的吗啊? 解决方案 M:Model V:View C:Controller Form属于View 解决方案二: 如果这么理解的话,问题很多啊,联系你查一下什么mvc,再查上面的类. 解决方案三: 这个还是在做项目中明白的

Java的Struts框架简介与环境配置教程_java

Struts2是流行和成熟的基于MVC设计模式的Web应用程序框架. Struts2不只是Struts1下一个版本,它是一个完全重写的Struts架构. WebWork框架开始以Struts框架为基础,其目标是提供一个加强和改进框架Struts来使web开发的开发人员更容易. 一段时间后,WebWork框架和Struts社区联手打造的著名的Struts2框架. Struts 2框架的特点: 这里有一些强大的功能,可能会迫使你考虑Struts2: POJO表单和POJO动作 - Struts2的S

Struts 2 简介 Struts2的基本流程

转自:http://blog.csdn.net/zjtimef/article/details/12027767   Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架.Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品.   Struts2的基本流程如下:   ① We

集成 Struts、Tiles 和 JavaServer Faces

server 内容:JSF 简介为什么将这三者集成为一体?将 Struts 和 JSF 与 Struts-Faces 集成将Struts 应用程序移植到 JSF集成 Struts-Faces 和 Tiles 的挑战到目前为止所作的改变参考资料 作者简介对本文的评价相关内容:Struts, an open-source MVC implementationStruts and Tiles aid component-based developmentUI development with Java

Struts行为测试框架StrutsTestCase实战

阅读提要 StrutsTestCase是一个强有力的易于使用的针对Struts行为的测试框架.StrutsTestCase,并与传统型JUnit测试相结合,将会带给你一个相当高的测试覆盖率并提高你的产品的可靠性. 一.引言 StrutsTestCase是一个用于测试Struts行为的基于Junit的测试框架.如果你使用Struts,那么你会注意到它可以提供给你一种容易而有效的方式来测试你的应用程序的Struts行为类. 典型的J2EE应用程序都是分层构建的,如图1所示. ·DAO层封装了数据库存

Struts框架技术在J2EE中的研究和应用

j2ee 摘 要 简要介绍了J2EE技术及其应用程序架构的发展,论述了Struts框架的基本设计思想,分析了Struts框架开发系统的优点,并结合具体项目实现了Struts框架技术的应用. 关键词 J2EE:MVC:Struts:框架 J2EE简介 J2EE是一个开放的.基于标准的平台,可以开发.部署和管理N层结构的.面向Web的.以服务器为中心的企业级应用,它是利用Java 2 平台来简化与多级企业解决方案的开发.部署和管理相关的诸多复杂问题的应用体系结构. J2EE平台采用一个多层次分布式的

基于MVC模式的Struts框架概述

作者:yarshray   关键字: Java  J2EE  MVC  JSP  Servlet  MVC  Struts 内容简介:        MVC设计模式成为了目前十分流行的一种设计方法.它是一种软件的设计方法模式.并且被大量的开发和实践所证明.因此本文通过介绍Struts框架这种已经实现了MVC模式的软件构件框架了讨论该模式的优势和如何投入到软件开发中去.        本文内容注重理论和实践相结合,比较系统的从多层设计方式到分布式软件开发中所用到的技术,从而切入目前Sun公司退出的