Struts2的配置文件是整个框架的联系纽带,是配置文件将Struts2的核心控制器FilterDispatcher、业务控制器Action、视图组件等联系在一起。配置文件在Struts2框架中起到了调度的作用,也是降低各类组件耦合程度的一种手段。
Struts2框架的配置分类如下:
1. 管理元素
1. Bean配置 2. 常量配置 3. 包配置 4. 命名空间配置 5. 包含配置
2. 用户请求处理元素
1. 拦截器配置 2. Action配置 3. result配置
3. 错误处理
1. 异常配置
一、 配置web.xml文件
Web应用项目都需要一个web.xml配置文件,该文件负责对整个项目进行配置,例如对项目的 Servlet/Struts标签进行配置。
web.xml是Web应用的配置文件,在使用Struts2框架整合其他技术时,需要修改web.xml文件,来指定Servlet或者其他配置。如需要在Struts2应用项目的web.xml文件中添加如下代码:
<!-- 配置Struts2 的核心Filter-->
<filter>
<!-- 配置核心过滤器 -->
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<!-- 拦截所有URL用户请求 -->
<!—使用上面定义的Filter名字 -->
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
二、 配置struts.xml文件
在Struts2的框架结构中,struts.xml文件具有重要的位置,所有的用户请求被Struts2的核心控制器FilterDispatcher所截获,然后ActionProxy通过Configuration Manager(struts.xml)询问框架的配置文件,来查找相应的处理Action。 struts.xml文件的作用类似于Struts2框架的“地图”。在默认情况下,Struts2框架将自动加载放在WEB-INF/classes路径下的struts.xml文件。
如下示例的struts.xml: 包含bean配置、常量配置、包含配置、包配置、命名空间配置、拦截器配置和Action配置等。
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!—bean配置-->
<bean name=" " class=" " type=" ></bean>
<!—配置常量-->
<constant name=" " value=" " />
<!—包含其他配置文件-->
<include file=" " />
<!—定义默认包-->
<package name="default " extends="struts-default" >
<!—配置拦截器-->
<interceptors>
<interceptor name="<!—名称-->" class="<!—实现类-->"></interceptor>
<!—拦截器栈-->
<interceptor-stack name="">
<interceptor-ref name=" "></interceptor-ref>
<interceptor-ref name=" " />
<interceptor-ref name="" />
</interceptor-stack>
</interceptors>
<!—配置action-->
<action name="">
<result></result>
</action>
</package>
<!—配置包skill,继承包default,定义包空间/skill-->
<package name="skill " extends="default" namespace="/skill">
</package>
</struts>
三、 配置struts.properties文件
Struts2框架一般包含两个配置文件:struts.xml和struts.properties文件。struts.xml定义了包、包的命名空间、Action、拦截器和拦截器栈等信息,主要用于Struts2框架的Action映射。struts.properties是一个属性定义文件,该文件定义了Struts2框架中的大量属性值、常量。一般可以通过修改struts.properties的内容来修改Struts2框架的配置参数。
struts.properties文件是一个标准的Key-Value格式的文本文件,Key表示Struts2框架的属性名称,对应的Value就是设置的参数。例如: struts.custom.i18n.resources=globalMessages
struts.properties文件放在Web应用的classes路径下。 其实struts.properties文件的内容均可在struts.xml中以常量<constant name=" " value=" " />形式加载。