Apache Struts 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Apache Struts 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Apache Struts 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache
开发语言 Java
操作系统 跨平台
软件类型 开源软件
所属分类 Web应用开发Web框架
开源组织 Apache
地区 不详
投 递 者 不详
适用人群 未知
收录时间 2008-09-07

软件简介

Struts 是 Apache软件基金会(ASF)赞助的一个开源项目。它最初是 Jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目。它通过采用 Java Servlet/JSP 技术,实现了基于Java EE Web应用的MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产品。

在 Struts 中,已经由一个名为 ActionServlet 的 Servlet 充当 控制器(Controller)的角色,根据描述模型、视图、控制器对应关系的 struts-config.xml 的配置文件,转发视图(View)的请求,组装响应数据模型(Model)。在 MVC 的 模型Model)部分,经常划分为两个主要子系统(系统的内部数据状态改变数据状态的逻辑动作),这两个概念子系统分别具体对应 Struts 里的 ActionFormAction 两个需要继承实现超类。在这里,Struts 可以与各种标准的数据访问技术结合在一起,包括Enterprise Java Beans(EJB), JDBC 与 JNDI。在 Struts 的视图View) 端,除了使用标准的JavaServer Pages(JSP)以外,还提供了大量的标签库使用,同时也可以与其他表现层组件技术(产品)进行整合,比如 Velocity Templates,XSLT 等。通过应用 Struts 的框架,最终用户可以把大部分的关注点放在自己的业务逻辑(Action)与 映射关系的配置文件(struts-config.xml)中。

在 Java EE 的Web应用发展的初期,除了使用 Servlet 技术以外,普遍是在 JavaServer Pages (JSP)的源代码中,采用 HTML 与 Java 代码混合的方式进行开发。因为这两种方式不可避免的要把表现与业务逻辑代码混合在一起,都给前期开发与后期维护带来巨大的复杂度。为了摆脱上述的约束与局限,把业务逻辑代码从表现层中清晰的分离出来,2000年,Craig McClanahan 采用了 MVC 的设计模式开发Struts。后来该框架产品一度被认为是最广泛、最流行 JAVA 的 WEB 应用框架。

2006年,WebWork 与 Struts 这两个优秀的Java EE Web框架(Web Framework〕的团体,决定合作共同开发一个新的,整合了 WebWork 与 Struts 优点,并且更加优雅、扩展性更强的框架,命名为 “Struts 2”,原Struts的1.x 版本产品称为“Struts 1”。

至此,Struts项目并行提供与维护两个主要版本的框架产品——Struts 1 与 Struts 2。

Struts1 JavaDoc:http://www.ostools.net/apidocs/apidoc?api=struts-1.3.10
Struts2 JavaDoc:http://www.ostools.net/apidocs/apidoc?api=struts-2.3.4

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(9) 发布并加入讨论🔥
发表了资讯
2023/09/06 15:34

Apache Struts 6.3.0 GA

Apache Struts 小组宣布,Apache Struts 6.3.0 现已作为“General Availability”版本提供。具体更新内容包括: Bug WW-5330 - 提交文本区域包含超过 4000 个字符的表单时出现问题。 WW-5331 - 通过 tag 访问请求属性被破坏 Improvement WW-5233 - 在 Tiles 插件中包含 Apache Tiles code WW-5321 - 通知/记录新的 maxStringLength 限制 WW-5327 - 停止在 SecurityMemberAccess 和 MemberAccessValueStack 中对 setter 使用 Ja...

18
1
发表了资讯
2022/09/19 07:54

Apache Struts 6.0.3 GA

Apache Struts 小组宣布,Apache Struts 6.0.3 版现已作为“General Availability”版本提供。具体更新内容包括: 将 async 和速度插件添加到 bom #568 [WW-5191] 修复了 <s:textarea/> 标签中 maxLength 和 minLength 属性的位置 #572 [WW-5185] 重新引入 Tiles 资源的正确实现,以支持 Tiles definitions 的通配符匹配 #566 [WW-5188] 从 2.6 开始替换为 6.0 #569 WW-5197 添加对 java.sql.Date 的支持 #574 [WW-5201] 将 lo...

15
1
发表了资讯
2022/04/15 08:40

Apache Struts 中两年前的严重漏洞重现,官方发布补丁

Apache Software Foundation 发布了一个安全公告 S2-062,以解决 Struts 2.0.0 到 2.5.29 版本中存在的一个远程代码执行漏洞;攻击者可以利用此漏洞来控制受影响的系统。对此,美国网络安全和基础设施安全局 (CISA) 也发布公告敦促组织查看 Apache 的公告,并尽快升级到最新的 Struts 2 补丁版本。 该漏洞被跟踪为 CVE-2021-31805,是由于 2020 年 CVE-2020-17530 (S2-061) 的不完整修复造成的。也就是说,这一漏洞早在 2020 年...

14
3
发表了资讯
2021/12/26 07:59

Apache Struts 2.5.28.2 GA

由于 Apache Struts 2.5.28 发布后被曝出了 log4shell 漏洞,因此 Struts 团队近日先后推出了针对 2.5.28 的补丁版本 2.5.28.1 和 2.5.28.2。 Struts 2.5.28.1 此版本使用最新的 Log4j 2.12.2 版本(与 Java 1.7 兼容)解决了 Log4j 漏洞 CVE-2021-45046。 详细更新说明点此查看。 Struts 2.5.28.2 此版本使用最新的 Log4j 2.12.3 版本(与 Java 1.7 兼容)解决了 Log4j 漏洞 CVE-2021-45105。 详细更新说明点此查看。 Apache S...

5
2
发表了资讯
2021/12/17 07:37

Apache Struts 2.5.28 GA

Apache Struts 2.5.28 已发布,Apache Struts 2 是一个优雅、可扩展的框架,可用于创建企业级 Java Web 应用程序。Struts 2 旨在简化从构建到部署,再到维护应用程序整个开发周期。 主要变更内容: [WW-5149] - 修复 Struts 2.5.27 中的 labelposition 属性损坏 详情查看 release notes,官方强烈建议所有开发者升级至此版本。 Apache Struts 2.5.x 系列对以下规范版本有最低要求:Servlet API 2.4, JSP API 2.0 和 Java 7。 下...

11
2
发表了资讯
2021/11/20 07:38

Apache Struts 2.5.27 GA

Apache Struts 2.5.27 已发布,Apache Struts 2 是一个优雅、可扩展的框架,可用于创建企业级 Java Web 应用程序。Struts 2 旨在简化从构建到部署,再到维护应用程序整个开发周期。 此版本变更内容如下: 修复 PostbackResult 使用错误正则表达式的问题 %{id} 支持评估 data-* 和 value 属性的不同之处 从资源包检索文本时支持阻塞线程 (Blocking Threads) 新增用于注入 Scope.SINGLETON 实例的 Contention 修复 labelposition ...

13
3
发表了资讯
2020/12/09 10:27

Apache Struts 2.5.26 版本发布

近日,Apache Struts 的2.5.26版本发布,主要修复问题和改进如下: Bug: 1.修复Junit插件不会将ACTION_映射推送到上下文中,从而导致NPE的问题。 2.修复StaticParametersInterceptor的addParametersToContext方法不生效的问题。 3.修复CVE-2020-17530: 因OGNL表达式二次解析引发的远程代码执行的高危漏洞。...

12
1
发表了资讯
2020/09/30 11:16

Apache Struts 2.5.25 版本发布

近日,Apache Struts 的2.5.25版本发布,主要修复问题和改进如下: BUG: 1.修复全局结果中的包级别属性获取问题; 2.修复AbstractMatcher传值映射的问题; 3.修复Showcase应用程序的单文件上传示例中的小错误; 4.修复无法设置长路径名变量的问题; 5.修复s:set标签有空值的问题; 6.修复AliasInterceptor无法正确处理空参数的问题; 改进:采用JDK9+进行构建项目时的效率问题; 依赖升级: 1.Maven 构建库升级; 2.升级OSGi到...

25
2
发表了资讯
2019/12/04 07:09

Apache Struts 2.5.22 GA 发布

Apache Struts 2.5.22 GA 已发布,官方称 Apache Struts 2 是一个优雅、可扩展的框架,可用于创建企业级 Java Web 应用程序。Struts 2 旨在简化从构建到部署,再到维护应用程序整个开发周期。 注意:Struts 2 增加了新的安全性增强功能,默认情况下它们是禁用的,但如果需要提升应用程序的安全性请考虑启用它们。具体细节请查看 Security Guide。 Apache Struts 2.5.x 系列最低要求版本如下:Servlet API 2.4, JSP API 2.0 和 ...

14
4
发表了资讯
2019/01/18 14:06

Struts2 2.5.20 发布,支持 Java 11

Struts 是 Apache软件基金会(ASF)赞助的一个开源项目。它最初是 Jakarta项目中的一个子项目,并在2004年3月成为ASF的顶级项目。它通过采用 Java Servlet/JSP 技术,实现了基于Java EE Web应用的MVC设计模式的应用框架,是MVC经典设计模式中的一个经典产品。 Struts2 2.5.20 主要对软件中的 Bug 进行修复,对 Struts2 中的相关软件库进行升级。其中包括一个重大的改进:支持 Java 11。详细内容请查看下面的更新日志。 Bug [WW-...

22
5
发表了资讯
2019/01/01 08:00

Apache Struts 2.5.19 发布,Java Web 开发框架

Apache Struts 2.5.19 发布了,Struts 是一个免费的开源 MVC 框架,用于创建优雅、现代的 Java Web 应用程序。它强调公约优于配置,可使用插件体系结构进行扩展,并附带插件支持 REST、AJAX 和 JSON。 更新如下: Bug [WW-4971] - s:include tag fails with truncated content in certain circumstances [WW-4974] - NullPointerException in DefaultStaticContentLoader#findStaticResource [WW-4977] - Fixing flaky test in...

13
8
发表了资讯
2018/08/26 08:15

Apache Struts 再曝高危远程代码执行漏洞,快升级!

Semmle 安全研究员 Man Yue Mo 近日披露了一个存在于流行的 Apache Struts Web 应用框架中的远程执行代码漏洞,可能允许远程攻击者在受影响的服务器上执行恶意代码。 该漏洞编号为 CVE-2018-11776 ,被归类为高危漏洞,是由于在某些配置下对 Struts 框架核心中用户提供的不可信输入的验证不充分而产生。它会在两种情况下容易被触发: Struts 配置中的 alwaysSelectFullNamespace 标志设置为 true 。 Struts 配置文件包含 “act...

13
3
发表了资讯
2018/08/24 00:34

Apache Struts 2.5.17 GA 发布,简化整个开发周期

Struts 2.5.17 GA 发布了,Apache Struts 2 是一个优雅、可扩展的框架,用于创建企业级 Java Web 应用程序。该框架旨在简化整个开发周期,从构建、部署到维护应用程序。 除了关键的整体主动安全性改进之外,此版本还解决了一个潜在的安全漏洞: Possible Remote Code Execution when using results with no namespace and insametime, its upper action(s) have no or wildcard namespace.Samepossibility when usingurltag whi...

13
2
发表了资讯
2018/03/17 07:32

Apache Struts 2.5.16 GA 发布,MVC 框架

Apache Struts 2.5.16 GA 发布。Struts 是 Apache软件基金会(ASF)赞助的一个开源项目,最初是 Jakarta 项目中的一个子项目,在 2004年3月 成为 ASF 的顶级项目。它通过采用 Java Servlet/JSP 技术,实现了基于 Java EE Web 应用的 MVC 设计模式的应用框架,是 MVC 经典设计模式中的一个经典产品。 更新内容: - unclosed instantiation of PrintWriter - Http Sessions forcefully created for all requests using I18nInterc...

2
2
发表了资讯
2018/02/11 00:23

Apache Struts 2.5.15 发布,MVC 框架

Apache Struts 2.5.15 已发布。Struts 是 Apache软件基金会(ASF)赞助的一个开源项目,最初是 Jakarta 项目中的一个子项目,在 2004年3月 成为 ASF 的顶级项目。它通过采用 Java Servlet/JSP 技术,实现了基于 Java EE Web 应用的 MVC 设计模式的应用框架,是 MVC 经典设计模式中的一个经典产品。 更新内容: WW-4915 Replace deprecated commons-lang3 classes WW-4910 Align OptGroup with Select WW-4874 Introduces Async...

16
3
发表了资讯
2017/12/02 07:38

Apache Struts 2.5.14.1 发布,MVC 框架

Apache Struts 2.5.14.1 已发布。Struts 是 Apache软件基金会(ASF)赞助的一个开源项目,最初是 Jakarta 项目中的一个子项目,在 2004年3月 成为 ASF 的顶级项目。它通过采用 Java Servlet/JSP 技术,实现了基于 Java EE Web 应用的 MVC 设计模式的应用框架,是 MVC 经典设计模式中的一个经典产品。 此版本包含以下针对潜在安全漏洞的修复: S2-054 A crafted JSON request can be used to perform a DoS attack when using t...

10
4
发表了资讯
2017/11/16 07:56

Apache Struts 2.5.14 发布,MVC 框架

Apache Struts 2.5.14 已发布。Struts 是 Apache软件基金会(ASF)赞助的一个开源项目,最初是 Jakarta 项目中的一个子项目,在 2004年3月 成为 ASF 的顶级项目。它通过采用 Java Servlet/JSP 技术,实现了基于 Java EE Web 应用的 MVC 设计模式的应用框架,是 MVC 经典设计模式中的一个经典产品。 请注意,该版本中 JSONWriter 类被转换为 DefaultJSONWriter 类中默认实现的接口。如果是正在直接使用该类,则必须更新代码,避免...

17
6
发表了资讯
2017/10/25 07:56

开源组件有风险 Veracode 发布 2017 年软件安全报告

代码安全和安全开发是信息安全的源头,也是最重要的环节,但是随着开源组件的流行,开源组件漏洞正在对安全开发构成广泛威胁。 随着敏捷开发和开源软件的流行,开源组件如今是开发者的宠儿,研究显示如今一个软件中平均75%的软件代码都来自开源组件!但这些开源组件中的漏洞也带来了巨大的安全风险。 Veracode 最新发布的 2017 年软件安全报告显示,88% 的 Java 应用包含至少一个含有漏洞的组件,容易遭受攻击。而且由于组件(包...

2
2
发表了资讯
2017/09/08 08:22

Apache Struts 2.3.34 发布,修复安全问题

Apache Struts 2.3.34 已发布,该版本修复了以下潜在的安全漏洞: S2-050 当使用 URLValidator 时,可能会导致 DoS 攻击 (与 S2-044 & S2-047 类似) S2-051 远程攻击者可能会在使用 Struts REST 插件时发送精心设计的 xml 请求来创建DoS攻击 S2-052 当使用带有 XStream 处理程序的 Struts REST 插件来处理 XML 有效负载时,可能会发生远程执行代码攻击 S2-053 在 Freemarker tag 中使用无意图的表达式而不是字符串文字时,可能会...

19
4
发表了资讯
2017/09/07 08:10

Apache Struts 2 曝高危远程代码执行漏洞,快升级!

lgtm.com 的安全研究人员又发现了 Apache Struts 中的一个新的远程执行代码漏洞,2008 年以来所有版本的 Struts 都会受到影响,所有使用 REST 插件的 Web 应用程序都易受到攻击。该漏洞编号为 CVE-2017-9805 ,危害程度为高危。 Apache Struts 2 开发团队已在 9 月 5 日发布 Struts 2.5.13 解决此问题,建议用户尽快升级。

24
5
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
9 评论
391 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部