struts2 FilterDispatcher 配置详解
struts2 org.apache.struts2.dispatcher.ng.filter.FilterDispatcher
当配置Struts2的FilterDispatcher类时,可以指定一系列的初始化参数,为该Filter配置初始化参数时,其中有3个初始化参数有特殊意义:(基于约定优于配置的原则)
config:使 用逗号隔开的字符串,每个字符串都是一个XML配置文件的位置。Struts框架将自动加载该属性指定的系列配置文件。如果用户没有定义config属 性,struts默认会载入DEFAULT_CONFIGURATION_PATHS这个值所代表的xml文件。它的值为\"struts- default.xml,struts-plugin.xml,struts.xml\"。也就是说框架默认会载入这三个项目xml文件。(一般不直接配置改参数,如是在有必要进行struts2的自定义配置,可以是重写覆盖struts.xml覆盖jar包里的配置文件)
actionPackages:使 用逗号隔开的字符串,每个字符串都是一个包空间,Struts2框架将扫描这些包空间下的Action。Struts2扫描到Action后,从
actionPackages指定的包开始,子包名会成为这个Action的namespace,而Action的name则由这个Action的类名决 定。action名字的规则是这样的:将action name从任何“Action”后缀前面截取掉,如果action name含有“/”的话,那么 将最后一个“/”后面的第一个字母变为小写。因为默认包路径后的 action名为“/类名”,所以总是将类名的首字母变成小写。 configProviders:表 示实现了ConfigurationProvider接口的Java类的列表,多个类名之间使用英文逗号(,)分隔。 ConfigurationProvider接口描述了框架的配置,默认情况下,Struts 2框架使用 StrutsXmlConfigurationProvider从XML文档中加载它的配置。使用configProviders参数,可以用来指定自己 的ConfigruationProvider接口实现类。
负责载入在web.xml中 FilterDispatcher的参数path配置的xml文件。XmlConfigurationProvider专门负责载入xwork.xml, 而StrutsXmlConfigurationProvider负责载入其他的xml配置文件。其中
StrutsXmlConfigurationProvider是XmlConfigurationProvider的子类,主要的操作都是在 XmlConfigurationProvider中实现的。这两个类实现了struts2主要的配置文件struts.xml(默认名称)等的读取。