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框架的世界。