开发知识点-Apache Struts2框架

在这里插入图片描述

Apache Struts2

  • 介绍
  • S2-001
  • S2
    • CVE-2023-22530

介绍

Apache Struts2是一个基于MVC(模型-视图-控制器)设计模式的Web应用程序框架,它是Apache旗下的一个开源项目,并且是Struts1的下一代产品。Struts2是在Struts1和WebWork的技术基础上合并出来的全新web框架,其核心是WebWork。使用Struts2框架可以简化web开发,并降低程序的耦合度。

Struts2由许多利益相关者创建和维护,包括Apache软件基金会、JBoss、IBM、Apple、OpenSymphony等公司。这个框架专为企业级Java Web应用程序而设计,广泛应用于电子商务网站、金融和保险领域等Web应用程序。

S2-001


Struts2是一个基于Java的开源Web应用程序框架,用于开发MVC(Model-View-Controller)风格的Web应用程序。它是Apache Struts项目的后继版本,由Apache Software Foundation(ASF)进行开发和维护。Struts2的主要特点和功能包括:1. MVC架构:Struts2采用了经典的MVC设计模式,将应用程序分为模型、视图和控制器三个部分,以实现代码的解耦和模块化开发。这使得开发者可以更好地组织和管理应用程序的逻辑。2. Web服务支持:Struts2提供了一套强大的机制来处理HTTP请求和响应,支持处理表单数据、参数传递、会话管理等常见的Web开发任务。它还集成了标准的Servlet、JSPEL(Expression Language),使开发过程更加方便和高效。3. 配置和注解:Struts2提供了灵活的配置方式,可以通过XML配置文件或者注解来定义控制器、视图和模型之间的关系。这使得开发者可以根据具体需求进行定制,并且可以轻松地修改和扩展应用程序的行为。4. UI组件和标签库:Struts2内置了丰富的UI组件和标签库,如文本框、下拉列表、日期选择器等,可以快速构建用户友好的界面。这些组件可以轻松地与应用程序的模型绑定,实现表单数据的收集和验证。5. 数据验证和转换:Struts2提供了强大的数据验证和类型转换机制,可以在服务器端对提交的数据进行验证和转换。它支持各种验证规则,如必填字段、正则表达式、范围限制等,并提供了多种内置的验证器。6. 拦截器和插件:Struts2采用了拦截器的概念,提供了一种可扩展的方式来增强和定制应用程序的行为。它支持自定义拦截器和全局拦截器堆栈,使得开发者能够很容易地添加额外的功能,如日志记录、安全认证等。Struts2是一个开源项目,采用Apache License 2.0开源许可证。这意味着任何人都可以自由获取、使用、修改和分发Struts2的源代码。开发者可以在Apache Struts2的官方网站上找到相关的文档、示例代码、技术支持和社区讨论等资源,以帮助他们学习和使用Struts2。同时,由于是开源项目,任何人都可以参与到Struts2的开发和贡献中。Struts2基于OGNLRCEognl.Ognl.getValueimport ognl.Ognl; 
import ognl.OgnlContext;https://www.sohu.com/a/350469741_354899

S2

CVE-2023-22530

Apache Struts2的OGNL表达式注入RCE漏洞 该漏洞影响Apache Struts2 2.0.0 - 2.5.25版本,攻击者可以通过向存在漏洞的Struts2应用发送带有恶意OGNL表达式的请求,触发Struts2框架对OGNL表达式的解析和执行,从而执行任意代码。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/731926.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为北向网管NCE开发教程(1)闭坑选接口协议

华为北向网管NCE开发教程(1)闭坑选接口协议 华为北向网管NCE开发教程(2)REST接口开发 华为北向网管NCE开发教程(3)CORBA协议开发 本文一是记录自己开发华为北向网管遇到的坑,二是给需要的人&…

Androidstudio实现登录按钮按下变色

在activity_main.xml中&#xff0c;写如下代码&#xff1a; <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"androi…

简历–工作经历–通用

文章目录 底层逻辑导图要做到&#xff1a;避免出现&#xff1a;爽文模版&#xff1a;逆境努力逆袭&#xff1a;娱乐 底层逻辑 写作底层逻辑&#xff1a; 简历是给面试者/老师看的&#xff0c;要让人家看起来轻松。 工作经历方面&#xff0c;时间一般是倒着写的&#xff08;考官…

基于git推送的ES检索pdf内容优化思路与代码实现

写在前面 在之前的内容中我们已经介绍了创建gitbucket的webHook&#xff0c;使得仓库有更新时自动推送到我们定义的接口&#xff1b;然后Java读取仓库的文件转码写入ES库&#xff0c;这些核心流程已经实现。 1. 实现ES检索pdf等文件内容的插件 2. 基于GitBucket的Hook构建ES…

解决虚拟机静态网址设置后还是变动的的问题

源头就是我的虚拟机静态网址设置好了以后但是网址还是会变动 这是我虚拟机的配置 vi /etc/sysconfig/network-scripts/ifcfg-ens33 这是出现的问题 进入这里 cd /etc/sysconfig/network-scripts/ 然后我去把多余的ens33的文件都删了 然后还不行 后来按照这个图片进行了下 然后…

中国电信提速云计算重庆基地二期项目开建预计2020年底建成

4月3日&#xff0c;中国电信重庆公司消息称&#xff0c;在大力加快5G网络、数据中心等新型基础设施建设的同时&#xff0c;中国电信全面加快云计算重庆基地项目二期建设。 该项目拥有超过20万套。 服务器运营能力预计年内完成。 据重庆电信相关负责人介绍&#xff0c;中国电信水…

YOLOv8-Seg改进:特征融合篇 | GELAN(广义高效层聚合网络)结构来自YOLOv9

🚀🚀🚀本文改进:使用GELAN改进架构引入到YOLOv8 🚀🚀🚀YOLOv8-seg创新专栏:http://t.csdnimg.cn/KLSdv 学姐带你学习YOLOv8,从入门到创新,轻轻松松搞定科研; 1)手把手教你如何训练YOLOv8-seg; 2)模型创新,提升分割性能; 3)独家自研模块助力分割; 1.YO…

Spring学习 基础(二)Bean和AOP

3、Spring Bean Bean 代指的就是那些被 IoC 容器所管理的对象&#xff0c;我们需要告诉 IoC 容器帮助我们管理哪些对象&#xff0c;这个是通过配置元数据来定义的。配置元数据可以是 XML 文件、注解或者 Java 配置类。 Bean的创建方式 1. XML 配置文件&#xff1a; 传统上&am…

打开stable diffusion webui时,提示缺少clip或clip安装不上怎么办

在当前数字化时代&#xff0c;软件工具的应用已经成为人们日常生活和工作中不可或缺的一部分。而在使用各种软件工具的过程中&#xff0c;遇到一些技术性问题也是常有的事情。比如&#xff0c;在打开 Stable Diffusion WebUI 这样一个功能强大的工具时&#xff0c;有时会遇到缺…

python基础篇--学习记录2

1.深浅拷贝 l1 ["张大仙","徐凤年",["李淳刚","邓太阿"]] # 变量名对应的就是内存地址,这里就是将l1的内存地址给了l2 # 现在两个变量指向同一个内存地址,l1变化l2也会变化 l2 l1 现在的需求是l2是l1的拷贝版本,但是两者是完全分割…

基于 HBase Phoenix 构建实时数仓(2)—— HBase 完全分布式安装

目录 一、开启 HDFS 机柜感知 1. 增加 core-site.xml 配置项 2. 创建机柜感知脚本 3. 创建机柜配置信息文件 4. 分发相关文件到其它节点 5. 重启 HDFS 使机柜感知生效 二、主机规划 三、安装配置 HBase 完全分布式集群 1. 在所有节点上配置环境变量 2. 解压、配置环境…

微信小程序onLoad加载定义好的函数

这里小程序开发中容易犯的错误-1写自定义目录标题 给客户做一个程序。需要在页面加载的时候在onLoad(options){}中加载定义好的函数&#xff0c;代码如下 onLoad(options) {get_week_()},运行时老报错 后来修改为正确的代码 onLoad(options) {this.get_week_()//必须加this},再…

YOLOv8优化策略:SPPF涨点篇 |引入YOLOv9的SPPELAN

🚀🚀🚀本文改进:SPP创新结合ELAN,来自于YOLOv9,助力YOLOv8,将SPPELAN代替原始的SPPF 🚀🚀🚀YOLOv8改进专栏:http://t.csdnimg.cn/hGhVK 学姐带你学习YOLOv8,从入门到创新,轻轻松松搞定科研; 1.YOLOv9介绍 论文: 2402.13616.pdf (arxiv.org) 摘要: 如今…

Linux的top命令解析

Top命令是什么 TOP命令是Linux下常用的性能分析工具&#xff0c;能够实时显示系统中各个进程的资源占用状况。 TOP是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止.比较准确的说,top命令提供了实时的对系…

RT-DETR优化改进:下采样涨点篇 |引入YOLOv9的下采样ADown

🚀🚀🚀本文改进:YOLOv9的下采样ADown助力RT-DETR,将ADown添加在backbone和head处,提供多个yaml改进方法 🚀🚀🚀RT-DETR改进创新专栏:http://t.csdnimg.cn/vuQTz 🚀🚀🚀学姐带你学习YOLOv8,从入门到创新,轻轻松松搞定科研; 🚀🚀🚀RT-DETR模型…

LeetCode Python - 41. 缺失的第一个正数

目录 题目答案运行结果 题目 给你一个未排序的整数数组 nums &#xff0c;请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,0] 输出&#xff1a;3 解释&#xff1a…

Java List集合取交集的八种不同实现方式

码到三十五 &#xff1a; 个人主页 心中有诗画&#xff0c;指尖舞代码&#xff0c;目光览世界&#xff0c;步履越千山&#xff0c;人间尽值得 ! 在Java中&#xff0c;取两个List集合的交集可以通过多种方式实现&#xff0c;包括使用Java 8的Stream API、传统的for循环遍历、使…

KH-MCX-KWE-W

KH-MCX-KWE-W品牌: kinghelm(金航标)封装: 插件 描述: 镀金

试题 算法训练 强力党逗志芃

资源限制 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 问题描述 逗志芃励志要成为强力党&#xff0c;所以他将身上所以的技能点都洗掉了重新学技能。现在我们可以了解到&#xff0c;每个技能…

第七十九天 WAF攻防-漏洞发现协议代理池GobyAWVSXray

第79天 WAF攻防-漏洞发现&协议&代理池&Goby&AWVS&Xray 知识点&#xff1a; 1、Http/s&Sock5协议 2、Awvs Xray&Goby代理 3、Pxoxifier进程代理使用 4、Safedog&BT&Aliyun防护 演示案例&#xff1a; Awws漏扫-Sadedog-白名单-内置 Awws漏…