|
所有的MVC框架都需要Web應(yīng)用加載一個核心控制器,對于Struts2框架而言,需要加載FilterDispatcher,只要Web應(yīng)用負(fù)責(zé)加載FilterDispatcher,F(xiàn)ilterDispatcher將會加載Struts2框架。 因為Struts2將核心控制器設(shè)計成Filter,而不是一個普通Servlet。故為了讓W(xué)eb應(yīng)用加載FilterDispatcher,只需要在web.xml文件中配置FilterDispatcher即可。 標(biāo)準(zhǔn)配置文件如下: <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_9" version="2.4" xmlns="http://java./xml/ns/j2ee" xmlns:xsi="http://www./2001/XMLSchema-instance" xsi:schemaLocation="http://java./xml/ns/j2ee http://java./xml/ns/j2ee/web-app_2_4.xsd"> <display-name>Struts Blank</display-name> <filter> <!-- 配置Struts2核心Filter的名字 --> <filter-name>struts2</filter-name> <!-- 配置Struts2核心Filter的實現(xiàn)類 --> <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> <init-param> <!-- 配置Struts2框架默認(rèn)加載的Action包結(jié)構(gòu),可以沒有。 --> <param-name>actionPackages</param-name> <param-value>org.apache.struts2.showcase.person</param-value> </init-param> <!-- 配置Struts2框架的配置提供者類 --> <init-param> <param-name>configProviders</param-name> <param-value>lee.MyConfigurationProvider</param-value> </init-param> </filter> <!-- 配置Filter攔截的URL --> <filter-mapping> <!-- 配置Struts2的核心FilterDispatcher攔截所有用戶請求 --> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app> *如上,當(dāng)配置Struts2的FilterDispatcher類時,可以指定一系列的初始化參數(shù),為該Filter配置初始化參數(shù)時,其中有3個初始化參數(shù)有特殊意義: config:使用逗號隔開的字符串,每個字符串都是一個XML配置文件的位置。Struts框架將自動加載該屬性指定的系列配置文件。 actionPackages:使用逗號隔開的字符串,每個字符串都是一個包空間,Struts2框架將掃描這些包空間下的Action。 configProviders:配置自己的ConfigurationProvider類。 還可以在此處配置Struts2常量,每個<init-param>元素配置一個Struts2常量,其中<param-name>子元素指定了常量name,而<param-value>子元素指定了常量value。 *在web.xml中配置了<Filter>元素,還需要配置該Filter攔截的URL。通常,我們讓該Filter攔截所有的用戶請求??梢阅苓^<filter-mapping>元素配置。 |
|
|