`

struts2详细起源

 
阅读更多
自从1997年第一个Servlet规范发布以来,我们在用Java开发Web应用这条路上已经走了很远很远。在过去的时间里,我们学会了很多,也曾经不止一次地对开发Web应用的方式做出过改进。Apache Struts的产生就是一个伟大的跨越,它的价值远远超过了我们目光所能及的极限。
Apache Struts在2000年5月由Craig McClanahan发起,并于2001年7月发布了1.0版本。从技术的角度上来讲,它是在开发Web程序上的一次跨越性的进步,但更重要的是,它在最恰当的时候出现在了人们的眼前。
到那时为止,Web开发已经度过了漫长的岁月,很多大型项目都已经完工进入了维护期,在这个过程中,代码的可重用性与可维护性也给开发人员好好的上了几课。.com的兴起也引发了对Web应用开发更好的解决方案的诉求——当Apache Struts在2000年出现的时候,Web项目的数量仍然显著地增长着,而且毫无终止之势。Struts一出现便大受欢迎,更成为了以后几年内web开发的实际标准。
Struts2是Struts的下一代产品。而最初提案Struts Ti所设想的发展方向,在Struts的现有代码的基础上是很难完成的。在发起提案的时候,Patrick Lightbody把多个不同的Web框架的领导者邀请到了一起,希望大家能够达成共识,协力完成一个通用框架。虽然最终由于各种原因,Patrick Lightbody的愿望未能实现,但是WebWork和Struts Ti却发现了二者在技术与开发人员这两个层面上的共同之处,不久之后,两个项目就在WebWork的技术基础上进行了合并2。
当我们说起WebWork的时候,我们实际上说的是两个项目——XWork和WebWork。XWork是一个通用的命令框架,它提供了很多核心的功能,例如actions,验证和拦截器,它可以完全独立于执行上下文运行,并提供了一个内部的依赖注入机制,用来做配置和工厂实现的管理。
而WebWork则是一个完全独立的上下文。它用Web应用中运行所需的上下文把XWork包装起来,并提供了可以简化Web开发的特定实现。
Struts2的目标很简单——使Web开发变得更加容易。为了达成这一目标,Struts2中提供了很多新特性,比如智能的默认设置、annotation的使用以及“惯例重于配置”原则的应用,而这一切都大大减少了XML配置。Struts2中的Action都是POJO,这一方面增强了Action本身的可测试性,另一方面也减小了框架内部的耦合度,而HTML表单中的输入项都被转换成了恰当的类型以供action使用。开发人员还可以通过拦截器(可以自定义拦截器或者使用Struts2提供的拦截器)来对请求进行预处理和后处理,这样一来,处理请求就变得更加模块化,从而进一步减小耦合度。模块化是一个通用的主题——可以通过插件机制来对框架进行扩展;开发人员可以使用自定义的实现来替换掉框架的关键类,从而获得框架本身所不具备的功能;可以用标签来渲染多种主题(包括自定义的主题);Action执行完毕以后,可以有多种结果类型——包括渲染JSP页面,Velocity和Freemarker模板,但并不仅限于这些。最后,依赖注入也成了Struts2王国中的一等公民,这项功能是通过Spring框架的插件和Plexus共同提供的,与PicoContainer的结合工作还正在进行中。
本书的目的,是为了帮助读者掌握Struts2框架,并能够对组成框架的功能部件和可用的配置项有深刻的理解。我在书中还将介绍一些可以提高生产力的方法——包括默认配置项和应当注意的实现特性,可用的多种配置选项和一些开发技术。

 

分享到:
评论

相关推荐

    Struts2简介与入门

    Struts2框架的起源可以追溯到两个经典框架:传统的Struts1和WebWork。Struts1框架在2000年左右流行起来,但它随着时间的推移逐渐显示出设计上的不足。WebWork框架则被认为是设计更为先进的框架,引入了拦截器机制和...

    struts2培训PPT[F]

    1. **1 入门.swf** - 这个文件可能涵盖了Struts2的基础知识,包括Struts2的起源、为什么要使用Struts2,以及它的核心架构。它可能会介绍Action、Dispatcher Servlet、拦截器(Interceptors)等基本概念,这些都是...

    Struts2 框架概述

    #### 一、Struts2的历史背景与起源 Struts2作为一款备受关注的企业级Web开发框架,在Java Web开发领域占据着举足轻重的地位。尽管Struts2声称自身是一个全新的框架,但从其发展历程来看,这种说法仅仅是从与前一代...

    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权威指南完整版

    1. **Struts2框架概述**:首先,书中会介绍Struts2框架的基本概念,包括它的起源、发展和主要特点,以及与前一代Struts1的区别。 2. **安装与配置**:介绍如何在开发环境中安装Struts2框架,包括依赖库的添加、web....

    Struts2(一)

    #### Struts2 概述与来历 - **Struts2**是由Apache组织维护的一款开源MVC框架,主要应用于Java Web开发领域。其定位仅作为表现层(MVC)框架,专注于处理前端用户交互逻辑。 - **Struts1**是Struts2的前身,同样是...

    struts2速成

    Struts2是一个基于MVC设计模式的Web应用框架,它起源于WebWork2,并在其基础上进行了一系列改进。WebWork的核心是XWork框架,它采用命令模式,帮助开发者专注于业务逻辑而不是繁琐的Servlet编程。Struts2保留了...

    struts2介绍

    Struts2的起源与目标** Struts2的诞生是为了应对Struts1在处理复杂应用时的局限性,如表现层控制过于集中、扩展性不足等问题。Struts2的目标是简化MVC框架的使用,提供更加灵活的控制器和视图机制,以及更强大的...

    Struts2入门教程.pdf

    - **Struts2起源**:Struts2并非一个全新的Web框架,而是建立在WebWork框架设计理念之上,融合了Struts1的优点而形成的一个框架。可以说,它是Struts1与WebWork框架的结合体。 - **Struts2的吸引力**:由于其优秀的...

    struts2学习文档struts2pdf

    - **起源**:Struts最初是由程序员Craig R. McClanahan开发的,并于2002年被Apache软件基金会接管。最初的Struts框架(Struts 1)为Java Web应用提供了一个简单的架构,但随着时间的发展,它逐渐显露出一些局限性。 ...

    struts2开发入门以及webWork开发入门文档

    - `Max-Struts2教程.rar`可能包含了一个详细的Word文档,提供Struts2的基础教程,包括环境搭建、基本概念、实例应用等。 - `struts2教程.chm`是Windows的帮助文件格式,通常包含了分章节的教程内容,便于查阅和...

    struts2学习笔记.doc

    - **Struts2的起源**:Struts2最初由WebWork和Struts1的核心开发者联合创建,其目的是为了弥补这两个框架的不足之处。 **1.2 开发环境配置** - **IDE选择**:Eclipse 3.2 + MyEclipse 5.5。 - **Servlet Container*...

    struts2教程.CHM文档

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

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

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

    <<深入浅出Struts 2>>中文版 下载

    1. **Struts 2基础**:了解Struts 2的起源、设计理念以及它在Java Web开发中的地位。包括Action、Result、Interceptor等核心概念的介绍。 2. **配置与架构**:学习如何设置Struts 2的配置文件,包括struts.xml、...

    深入浅出 Struts2 +Starting Struts 2

    1. **Introduction**:介绍Struts2的起源、目标以及其在Java EE生态中的位置。 2. **Getting Started**:指导读者搭建开发环境,创建第一个Struts2应用。 3. **Request Processing**:解析Struts2请求处理流程,...

    struts2教程我在培训时用的

    ### Struts2教程知识点梳理 #### 一、Struts2概述 **1.1 MVC简介** - **Model1与Model2** - **Model1**:早期的MVC模式,通常指的是Servlet+JSP的形式,其中JSP既充当视图也承担一定的控制逻辑。 - **Model2**...

Global site tag (gtag.js) - Google Analytics