Struts2 web.xml配置

Struts2 web.xml配置

1. 核心控制器及参数配置web

任何MVC框架都须要与Web应用整合,就不得不依赖于web.xml文件,只有配置在web.xml文件中的Servlet、Filter才会被应用加载。app

全部MVC框架都须要Web应用加载一个核心控制器,对于Struts2框架而言,其须要加载FilterDispatcher,只要Web应用负责加载FilterDispatcher,FilterDispatcher将会加载应用的Struts2框架。框架

FilterDispatcher实质是一个过滤器,它负责初始化整个Struts框架而且处理全部的请求。这个过滤器能够包括一些初始化参数,有的参数指定了要加载哪些额外的xml配置文件,还有的会影响Struts2框架的行为。除了FilterDispatcher外,Struts2还提供了一个ActionContexCleanUp过滤器,它的主要任务是当有其它一些过滤器要访问一个初始化好了的Struts2框架的时候,负责处理一些特殊的清除任务。ActionContexCleanUp过滤器主要配合其余插件过滤器使用。详细配置,以下图所示:ide

clip_image002

clip_image004

其中有3个初始化参数有特殊意义: spa

config:该参数的值是一个以英文逗号(,)隔开的字符串,每一个字符串都是一个XML配置文件的位置。Struts 2框架将自动加载该属性指定的系列配置文件。 插件

actionPackages:该参数的值也是一个以英文逗号(,)隔开的字符串,每一个字符串都是一个包空间,Struts 2框架将扫描这些包空间下的Action类。 xml

configProviders:若是用户须要实现本身的ConfigurationProvider类,用户能够提供一个或多个实现了ConfigurationProvider接口的类,而后将这些类的类名设置成该属性的值,多个类名之间以英文逗号(,)隔开。blog

除此以外,还可在此处配置Struts 2常量,每一个<init-param>元素配置一个Struts2常量,其中<param-name>子元素指定了常量name,而<param-value>子元素指定了常量value。 接口

至于filter-mapping属性是过滤器(Filter)必须的一个属性,用于过滤请求的路径,此处通常就设为/*形式,对全部请求uri进行拦截(过滤),除非你要作一些特殊的处理。ip

2. 标签库配置

若是web容器是J2EE1.3(servlet2.3)及之前的规范,因为不会自动加载struts的标签库,因此须要在web.xml文件中手动加载struts的标签库,将struts-tags.tld文件,通常复制放在WEB-INF下面,能够本身指定,在web.xml中配置的加载标签订义文件以下:

clip_image006

但若是web容器是J2EE1.4(servlet2.4),那么web容器会自动加载标签库,Struts 2的标签库定义文件包含在struts2-core-2.1.6.jar文件里,在struts2-core-2.1.6.jar文件的META-INF路径下,包含了一个struts-tag.tld文件, 这个文件就是Struts 2的标签库定义文件,Servlet 2.4规范会自动加载该标签库文件,避免了在web.xml文件中从新定义Struts2标签库文件的URI。其中struts-tags.tld文件里包含了加载信息的片段,以下:

image

相关文章
相关标签/搜索