`
Checkmate
  • 浏览: 38844 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

2.Struts2 历史

阅读更多

Apache Struts是一个用来开发Java web应用的开源框架。最初是由创始人,程序员Craig R. McClanahan开发的,在这之后Apache软件基金会于2002年进行接管。Struts提供了一个非常优秀的架构使得组织基于HTML格式与Java代码的JspServlet应用开发变得非常简单。拥有所有Java标准技术与Jakarta辅助包的struts1建立了一个可扩展的开发环境。然而,随着web应用需求的增长,struts的表现不再坚稳,需要随着需求而改变。这导致了Struts2的产生,拥有像AJAX,快速开发,扩展性这类的特性使得Struts2更受开发人员的欢迎。

 

Struts2是一个基于MVC结构的组织良好的框架。在MVC结构中,模型意味业务或者数据库代码,视图描述了页面的设计代码,控制器指的是调度代码。所有这些使得struts成了开发Java应用程序不可或缺的框架。但随着像Spring, Stripes Tapestry这类新的基于MVC的轻量级框架的出现,struts框架的修改已属必然。于是,Apache Struts与另一个J2EE的框架,OpenSymphonywebwork合并开发成了一个集各种适合开发的特性于一身的先进框架,这定然会收到开发人员和用户的欢迎。

 

Struts2涵盖了struts Tiwebwork的特征,它主张高水平的应用应该使用webwork框架中的插件结构,新的APIAJAX标签等特性,于是struts2社区同webwork小组在webwork2中融入了一些新的特性,这使webwork2在开源世界中更加超前。后来webwork2更名为struts2.从此struts2成了一个动态的可扩展的框架,应用于从创建到配置、维护的完整的应用程序开发之中。

 

Webwork是一个web应用开发框架,已经包含在struts2.0发布中了。它有一些独到的观点和构想,像是他们认为与其满足现有的Javaweb API的兼容性,倒不如将其彻底替换掉。Webwork开发时重点关注开发者的生产效率和代码的简洁性。此外完全依赖的上下文对webwork进行了封装。当致力于web程序的工作时,框架提供的上下文将会在具体的实现上给予开发人员帮助。

 

同时,xwork在配置和工厂实施管理上提供了一种机制,这就是依赖注入。

分享到:
评论

相关推荐

    struts-2.2.3-lib.zip struts2.jar 全部jar包

    Struts2的2.2.3版本是在其发展历史中的一个稳定版本,提供了许多改进和新特性。 在Struts2.2.3中,lib目录下的jar包是框架运行所必需的组件,它们包含了以下关键知识点: 1. **核心库**:struts2-core.jar是Struts...

    struts-2.3.1.2-all.zip Struts源码和帮助文档

    Struts 2的版本2.3.1.2是其历史上的一个重要里程碑,包含了对框架的持续优化和改进。 源码分析: 1. **Action与Result**:在Struts 2中,Action是业务逻辑的核心,它负责处理请求并返回结果。开发者可以通过实现`...

    Apress.Beginning.Apache.Struts.From.Novice.to.Professional.Feb.2006

    1. **第1章:介绍Apache Struts** - 本章首先介绍了Apache Struts的历史背景和发展现状,然后讨论了为什么选择Struts作为Web开发框架的原因。 2. **第2章:MVC架构模式** - 本章详细阐述了Model-View-Controller...

    struts2.1.8 struts2源码 Eclipse关联这个可以

    版本2.1.8是Struts2的一个历史版本,它提供了许多功能和改进,旨在简化MVC(Model-View-Controller)架构的实现,提高开发效率。在这个版本中,开发者能够利用Action、拦截器(Interceptors)、结果类型(Result ...

    struts-2.3.15.1-lib.zip官方jar包

    然而,Struts2在历史上的确遭受过一些严重的安全漏洞,其中包括一个名为“CVE-2017-5638”的远程代码执行漏洞,这个漏洞允许攻击者通过恶意构造的HTTP请求执行任意代码,从而可能导致服务器被完全控制。 官方发布的...

    Struts2.x 项目实战

    安全方面,Struts2.x框架在历史版本中曾出现过一些安全漏洞,例如著名的Struts2 S2-045漏洞,但随着版本迭代,这些问题得到了修复,开发者应及时更新到最新稳定版以保证安全性。 项目实战中,你需要了解并实践以下...

    struts2-scan_struts2-scan_struts2scan_scan_struts2漏洞_

    然而,它在历史上曾出现过多个安全漏洞,其中最著名的就是“Struts2漏洞”。这个标题和描述提到的"struts2-scan"是一种工具,专门用来检测Struts2框架中的安全漏洞。 Struts2漏洞通常涉及到框架的核心组件,例如...

    30分钟学会STRUTS2.ppt

    Struts2是一个强大的Java Web应用程序框架,用于构建MVC(模型-视图-控制器)架构的应用。这个框架在2005年由WebWork开发团队和Struts 1的开发人员合并而成,旨在解决Struts 1存在的问题并提供更现代化的开发体验。...

    Struts2漏洞检查工具2018版.rar

    然而,由于其广泛的使用,Struts2也成为了黑客攻击的目标,因为其历史上存在一系列的安全漏洞。 标题中的"Struts2漏洞检查工具2018版.rar"指的是一个专门针对Struts2框架的2018年发布的漏洞检测工具。这个工具可能...

    Struts2.0.11.1所有JAR包

    同时,良好的安全实践也非常重要,因为Struts2历史上曾出现过严重的安全漏洞,比如著名的CVE-2017-5638“斯特拉托斯2远程代码执行漏洞”。 总的来说,Struts2.0.11.1是一个强大的MVC框架,它的各种插件和库为开发者...

    Struts2 核心jar包

    Struts2是一个基于MVC(Model-View-Controller)设计模式的开源Java Web框架,它由Apache软件基金会维护。...同时,随着Spring Boot等现代框架的兴起,了解Struts2的历史和原理也有助于理解其他框架的设计思想。

    struts2最新版源码文件

    在2.3.20版本中,可能会包含一些修复的安全漏洞,例如CVE-2011-2731和CVE-2014-0114,这些都是Struts2历史上著名的安全问题,涉及远程代码执行风险。研究这些修复,可以让你了解如何避免类似的安全问题。 源码包中...

    struts2讲义 struts2讲义struts2讲义struts2讲义struts2讲义

    #### 一、Struts2的历史与发展 - **Struts框架的发展历程**: - Struts最初版本发布于2000年,是Java Web开发领域的一个重要里程碑。 - 随着时间的发展和技术的进步,Struts逐渐暴露出一些局限性,如耦合度高、...

    struts2的各种jar包

    12. **安全性**:Struts2历史上曾出现过一些安全漏洞,如著名的CVE-2017-5638(Struts2远程代码执行漏洞),因此定期更新和使用安全插件(如OWASP Java Encoder)至关重要。 综上所述,"struts2的各种jar包"涵盖了...

    Struts2远程命令执行验证工具

    然而,Struts2在历史上出现过一些严重的安全漏洞,其中最具威胁性的之一是“Struts2远程命令执行”漏洞。这个标题提到的“Struts2远程命令执行验证工具”就是专门针对这类漏洞设计的检测和分析软件。 Struts2远程...

    struts2漏洞升级.zip

    然而,Struts2在历史上曾出现过一些安全漏洞,对使用该框架的系统构成威胁。此"struts2漏洞升级.zip"压缩包包含了从Struts 2.3.12版本升级到2.3.37版本的详细过程,以及相关的jar包和Gradle配置,旨在帮助开发者修复...

    struts-2.3.35 升级jar包

    在Web应用安全领域,Struts 2框架由于其复杂的组件结构和动态方法调用特性,历史上曾出现过多个高危漏洞,这些漏洞可能被黑客利用进行远程代码执行(RCE)攻击,对系统安全构成严重威胁。因此,及时对Struts 2框架进行...

    struts2 最新jar包

    然而,由于其历史较长,一些安全问题也需要注意,比如著名的Struts2 S2-045漏洞,开发者应及时更新到最新版本以确保应用的安全性。这个"struts-2.1.8.1--jar包"可能不是最新的版本,因此在实际开发中,推荐使用官方...

Global site tag (gtag.js) - Google Analytics