Struts2 核心包 + 第三方依赖包
以稳定安全版本Struts 2.5.33为例(规避S2系列高危漏洞)
说明:引入
struts2-core时,Maven会自动拉取第三方依赖;手动导jar需要全部拷贝。
一、Struts2 官方核心包(Apache Struts 自带)
仅1个核心主包
struts2-core-2.5.33.jar其余struts2-xxx-plugin属于扩展插件包(不属于运行必需核心):
- struts2-convention-plugin(注解零配置)
- struts2-json-plugin(JSON序列化)
- struts2-spring-plugin(Spring整合)
- struts2-tiles-plugin、struts2-rest-plugin 等
二、强制必备第三方依赖包(struts2-core运行离不开)
ognl-3.1.28.jar # OGNL表达式引擎 freemarker-2.3.31.jar # struts标签模板渲染 commons-fileupload-1.4.jar # 文件上传 commons-io-2.6.jar # IO工具,上传依赖 commons-lang3-3.12.0.jar # 通用工具类 javassist-3.24.1-GA.jar # 动态代理,创建Action代理三、对比旧版本 Struts2.3.x(老项目)
Struts2.3.35 核心包
struts2-core-2.3.35.jar配套第三方依赖
ognl-3.0.19.jar freemarker-2.3.23.jar commons-fileupload-1.3.3.jar commons-io-2.4.jar commons-lang3-3.4.jar javassist-3.18.1-GA.jar⚠️ 警告:2.3.x 已停止维护,大量远程命令执行漏洞,新项目禁止使用
四、最简WEB项目最小jar清单(直接复制使用)
struts2-core-2.5.33.jar ognl-3.1.28.jar freemarker-2.3.31.jar commons-fileupload-1.4.jar commons-io-2.6.jar commons-lang3-3.12.0.jar javassist-3.24.1-GA.jar补充知识点(面试常考)
- OGNL:Struts2 默认表达式语言,值栈ValueStack底层支撑
- FreeMarker:Struts2内置标签库底层模板引擎
- javassist:字节码工具,动态生成Action代理对象,实现拦截器功能
- 文件上传功能依赖 commons-fileupload + commons-io