Struts 2.x权威指南
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.1 下载和安装Struts2框架

下面从下载、安装Struts 2开始,慢慢体验Struts 2 MVC框架的魅力。笔者创作本书的时候,Struts 2的最新的产品化GA版是Struts 2.3.1.2,故本书的所有应用都是基于该版本的Struts 2。建议读者下载Struts 2.3.1.2版。

提示:

本书前两个版本(《Struts 2权威指南》和《Struts 2.1权威指南》)采用的Struts 2分别是Struts 2.0.6和Struts 2.1.6,这些版本可能存在一些小小的差异。如果读者采用Struts 2.0开发应用,则以本书第1版为准;如果读者采用Struts 2.1开发应用,则以第2版为准。

下载和安装Struts 2请按如下步骤进行。

登录http://struts.apache.org/download.cgi站点,下载Struts 2的最新GA版。在Struts 2.3.1.2下有如下几个选项。

Full Distribution:下载Struts 2的完整版。

Example Applications:下载Struts 2的示例应用,这些示例应用对于学习Struts 2有很大的帮助,下载Struts 2的完整版时已经包含了该选项下的全部应用。

Essential Dependencies Only:仅仅下载Struts 2的核心库,下载Struts 2的完整版时将包括该选项下的全部内容。

Documentation:仅仅下载Struts 2的相关文档,包含Struts 2的使用文档、参考手册和API文档等。下载Struts 2的完整版时将包括该选项下的全部内容。

Source:下载Struts 2的全部源代码,下载Struts 2的完整版时将包括该选项下的全部内容。

通常建议读者下载第1个和第4个选项,第1个选项包括了Struts 2框架的JAR包、示例、依赖的JAR包等;第4个选项则包括了Struts 2的开发文档、API文档。

将下载得到的两个zip文件解压缩到同一个目录下,该文件夹包含如下文件结构。

apps:该文件夹下包含了基于Struts 2的示例应用,这些示例应用对于学习者是非常有用的资料。该文件夹下包含了5个WAR文件,它们都是Struts 2示例的Web应用。

docs:该文件夹下包含了Struts 2的相关文档,包括Struts 2的快速入门、Struts 2的文档以及API文档等内容。

提示:

该目录下的docs子目录与WW子目录的内容完全一样,它们存放了Struts 2快速入门、开发指南等文档,只需保留一份即可。Struts 2 的 API 文档分别由struts2-core、xwork-core、struts2-plugins三个子目录组成,它们分别存放Struts 2、XWork、Struts 2官方插件的API文档。由于Struts 2必须要依赖于XWork,因此利用Struts 2开发时经常需要查阅XWork的API文档。

lib:该文件夹下包含了Struts 2框架的核心类库,以及Struts 2的第三方类库。

src:该文件夹下包含了Struts 2框架的全部源代码。

将apps子目录下struts2-blank.war压缩包中WEB-INF/lib目录下的所有JAR包复制到Web应用的WEB-INF/lib路径下。当然,如果你的Web应用需要使用Struts 2的更多特性,则需要将更多的JAR文件复制到Web应用的WEB-INF/lib路径下。如果需要在DOS或者Shell窗口下手动编译Struts 2相关的程序,则还应将struts2-core-2.3.1.2.jar和xwork-2.3.1.2.jar添加到系统的CLASSPATH环境变量里。

提示:

大部分时候,使用Struts 2的Web应用并不需要利用到Struts 2的全部特性,因此没有必要直接将 Struts 2 解压缩路径的 lib 子目录下的所有 JAR 文件复制到Web应用的WEB-INF/lib路径下。

编辑Web应用的web.xml配置文件,配置Struts 2的核心Filter。下面是增加了Struts 2的核心Filter配置的web.xml配置文件的代码。

程序清单:codes\02\struts2qs\WEB-INF\web.xml

<?xml version="1.0" encoding="GBK"?>
<!-- 配置Web应用配置文件的根元素,并指定配置文件的Schema信息 -->
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
    <!-- 定义Struts 2的核心控制器:StrutsPrepareAndExecuteFilter -->
    <filter>
          <!-- 定义核心Filter的名字 -->
          <filter-name>struts2</filter-name>
          <!-- 定义核心Filter的实现类 -->
          <filter-class>org.apache.struts2.dispatcher.ng
                .filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <!-- StrutsPrepareAndExecuteFilter用来处理所有的HTTP请求 -->
    <filter-mapping>
          <filter-name>struts2</filter-name>
          <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

经过上面3个步骤,我们已经可以在一个Web应用中使用Struts 2的基本功能了。下面将带领读者进入Struts 2 MVC框架的世界。