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

相關文章
相關標籤/搜索