Struts2目录结构和基础JAR包介绍

Struts2 的官方下载网址为 http://struts.apache.org,在该网址中可以下载最新版本的 Struts2。由于本教程使用的 Struts2 版本为 2.3.37,因此建议读者也下载该版本。

下载成功后,将 struts-2.3.37-all.zip 压缩包进行解压,解压后的目录如图 1 所示。

Struts2的文件夹结构
图 1  Struts2 的文件夹结构

下面针对图 1 中所示的目录进行简单介绍,具体如表 1 所示。

表 1 Struts2 的目录介绍
名称 作用
apps 用于存放官方提供的 Struts2 示例程序,这些程序可以作为学习者的参考资料。各示例均为 war 文件,可以通过 zip 方式进行解压。
docs 用于存放官方提供的 Struts2 文档,包括 Struts2 的快速入门、Struts2 的文档,以及 API 文档等内容。
lib 用于存放 Struts2 的核心类库,以及 Struts2 的第三方插件类库。
src 用于存放该版本 Struts2 框架对应的源代码。

了解了 Struts2 的文件夹结构后,下面学习一下如何在项目中使用 Struts2 框架。将图 1 中的 lib 文件夹打开,可以看到 Struts2 开发中可能用到的所有 JAR 包(此版本有 106 个 JAR 包)。在一般的 Web 开发中,只需要将 lib 文件夹下所依赖的几个基础 JAR 包复制到 Web 项目的 WEB-INF/lib 路径下即可使用 Struts2 框架。

下面针对 Struts2 项目所依赖的基础 JAR 包进行介绍,如表 2 所示。

表 2 Struts2 依赖 JAR 包介绍
文件名 说   明
asm-3.3.jar 操作 Java 字节码的类库
asm-commons-3.3.jar 提供了基于事件的表现形式
asm-tree-3.3.jar 提供了基于对象的表现形式
struts2-core-2.3.37.jar Struts2 框架的核心类库
xwork-core-2.3.37.jar Web Work 核心库,Struts2 的构建基础
ognl-3.0.6.jar 对象图导航语言(Object Graph Navigation Language),Struts2 框架通过其读/写对象的属性
freemarker-2.3.22.jar Struts2 标签模板使用的类库
javassist-3.11.0.GA.jar JavaScript 字节码解释器
commons-fileupload-1.4.jar Struts2 文件上传组件依赖包
commons-io-2.2.jar Struts2 的输入/输出,传文件依赖的 JAR
commons-lang-2.4.jar 包含一些数据类型工具,是对 java.lang 包的增强
log4j-api-2.2.jar Struts2 的日志管理组件依赖包的 API
log4j-core-2.2.jar Struts2 的日志管理组件依赖包

从表 2 中可以看出,此版本的 Struts2 项目所依赖的基础 JAR 包共 13 个。Struts2 根据版本的不同所依赖的基础 JAR 包可能不完全相同,不过基本变化不大,读者可以视情况而定。

【拓展阅读】快速添加 Struts2 所需的 JAR 包

在图 1 中的 apps 目录下,找到 struts2-blank.war 文件,此文件是 Struts2 官方提供的一个空示例项目,里面包含了一些基础 JAR 包和一些 xml 配置文件。开发中为了方便快速地使用 Struts2 进行开发,读者可将此文件的扩展名改为 zip(即 struts2-blank.zip),然后以压缩包方式解压打开。

将 WEB-INF/lib 文件夹下所有的 JAR 文件复制添加到自己所建立的 Web 应用程序的 WEB-INF/lib 中,即完成了 Struts2 的添加工作,这些 JAR 文件刚好就是 Struts2 所依赖的基础包。