搭建Struts2环境主要经过以下三步:
一、添加Struts2开发所必须的基本jar包:
struts2-core-2.x.x.x.jar | Struts2框架的核心类库 |
xwork-core-2.x.x.x.jar | XWork核心类库,由于struts2是webwork的升级版本,所以必定对其有所依赖 |
commons-fileupload-1.x.x.jar | 文件上传组件,struts2.1.6版本后必须加入此文件 |
commons-logging-1.1.1.jar | 日志包,用来支持Log4J和JDK1.4+的日志记录 |
freemarker-2.x.x.jar | (struts2 UI标签的模板使用FreeMarker编写的) |
ognl-3.x.x.jar | 支持对象图导航语言(ognl),用于读写对象的属性 |
commons-lang-2.x.jar | commons项目中的lang包 |
commons-io-2.x.x.jar | IO处理 |
commons-lang3-3.x.jar | commons项目中的字符处理包 |
javassist-3.x.x.GA.jar | 一个开源的分析、编辑和创建Java字节码的类库 |
二、配置Struts2的配置文件struts.xml
Struts2默认的配置文件为WEB-INF/classes/struts.xml,开发时可放在src目录下。
struts.xml初始配置模板:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
.....
</struts>
三、在web.xml中加入Struts2MVC框架启动配置
WEB_INF/web.xml配置:
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
注意:(1)在struts1中,struts框架是通过Servlet启动的;而在struts2中,struts框架式通过Filter启动的。
(2) StrutsPrepareAndExecuteFilter的init()方法将会读取类路径下默认的配置文件struts.xml完成初始化操作。
(3) struts2读取到struts.xml的内容后,以javabean形式存放在内存中,以后struts2对用户的每次请求处理将使用内存中的数据,而不是每次都读取struts.xml文件。