Struts2 的官方下载网址为 http://struts.apache.org,在该网址中可以下载最新版本的 Struts2。由于本教程使用的 Struts2 版本为 2.3.37,因此建议读者也下载该版本。
下载成功后,将 struts-2.3.37-all.zip 压缩包进行解压,解压后的目录如图 1 所示。
图 1 Struts2 的文件夹结构
下面针对图 1 中所示的目录进行简单介绍,具体如表 1 所示。
名称 | 作用 |
---|---|
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 所示。
文件名 | 说 明 |
---|---|
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 包可能不完全相同,不过基本变化不大,读者可以视情况而定。
在图 1 中的 apps 目录下,找到 struts2-blank.war 文件,此文件是 Struts2 官方提供的一个空示例项目,里面包含了一些基础 JAR 包和一些 xml 配置文件。开发中为了方便快速地使用 Struts2 进行开发,读者可将此文件的扩展名改为 zip(即 struts2-blank.zip),然后以压缩包方式解压打开。
将 WEB-INF/lib 文件夹下所有的 JAR 文件复制添加到自己所建立的 Web 应用程序的 WEB-INF/lib 中,即完成了 Struts2 的添加工作,这些 JAR 文件刚好就是 Struts2 所依赖的基础包。