下面我们从下载、安装Struts 2开始,慢慢开始体验Struts 2 MVC框架的魅力。
笔者写本书的时候,Struts 2已经发布了其产品化GA(General Availability)版,其实最新的产品化GA版是Struts 2.06,故本书的所有应用都是基于该版本的Struts 2。建议读者下载Struts 2.06版,而不是下载最新的Beta版,如果Struts 2有最新的GA版,读者也可以下载更新的GA版,相信不会有太大差异。
下载和安装DWR请按如下步骤进行。
登录http://struts.apache.org/download.cgi#Struts206站点,下载Struts 2的最新GA版。在Struts 2.06下有如下几个选项:
— Full Distribution:下载Struts 2的完整版。通常建议下载该选项。
— Example Applications:下载Struts 2的示例应用,这些示例应用对于学习Struts 2有很大的帮助,下载Struts 2的完整版时已经包含了该选项下全部应用。
— Blank Application only:仅下载Struts 2的空示例应用,这个空应用已经包含在Example Applications选项下。
— Essential Dependencies:仅仅下载Struts 2的核心库,下载Struts 2的完整版时将包括该选项下的全部内容。
— Documentation:仅仅下载Struts 2的相关文档,包含Struts 2的使用文档、参考手册和API文档等。下载Struts 2的完整版时将包括该选项下的全部内容。
— Source:下载Struts 2的全部源代码,下载Struts 2的完整版时将包括该选项下的全部内容。
— Alternative Java 4 JARs:下载可选的JDK 1.4的支持JAR。下载Struts 2的完整版时将包括该选项下的全部内容。
通常建议读者下载第一个选项:下载Struts 2的完整版,将下载到的Zip文件解压缩,该文件就是一个典型的Web结构,该文件夹包含如下文件结构:
— apps:该文件夹下包含了基于Struts 2的示例应用,这些示例应用对于学习者是非常有用的资料。
— docs:该文件夹下包含了Struts 2的相关文档,包括Struts 2的快速入门、Struts 2的文档,以及API文档等内容。
— j4:该文件夹下包含了让Struts 2支持JDK 1.4的JAR文件。
— lib:该文件夹下包含了Struts 2框架的核心类库,以及Struts 2的第三方插件类库。
— src:该文件夹下包含了Struts 2框架的全部源代码。
将lib 文件夹下的Struts2-core-2.0.6.jar、xwork-2.0.1.jar和ognl-2.6.11.jar等必需类库复制到Web应用 的WEB-INF/lib路径下。当然,如果你的Web应用需要使用Struts 2的更多特性,则需要将更多的JAR文件复制到Web应用的WEB-INF/lib路径下。如果需要在DOS或者Shell窗口下手动编译Struts 2相关的程序,则还应该将Struts2-core-2.0.6.jar和xwork-2.0.1.jar添加到系统的CLASSPATH环境变量里。
提示 大部分时候,使用Struts 2的Web应用并不需要利用到Struts 2的全部特性,因此没有必要一次将该lib路径下JAR文件全部复制到Web应用的WEB-INF/lib路径下。
编辑Web应用的web.xml配置文件,配置Struts 2的核心Filter。下面是增加了Struts 2的核心Filter配置的web.xml配置文件的代码:
<?xml version="1.0" encoding="GBK"?>
<!-- web-app是Web应用配置文件的根元素,指定Web应用的Schema信息 -->
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.
com/xml/ns/j2ee/web-app_2_4.xsd">
<!-- 定义Struts 2的FilterDispatcher的Filter -->
<filter>
<!-- 定义核心Filter的名字 -->
<filter-name>struts2</filter-name>
<!-- 定义核心Filter的实现类 -->
<filter-class>org.apache.Struts2.dispatcher.FilterDispatcher
</ filter-class>
</filter>
<!-- FilterDispatcher用来初始化Struts 2并且处理所有的Web请求 -->
<filter-mapping>
<filter-name>Struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
经过上面3个步骤,我们已经可以在一个Web应用中使用Struts 2的基本功能了,下面将带领读者进入Struts 2 MVC框架的世界。