新聞中心
Struts 2的基本配置

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比東安網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式東安網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋東安地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴。
前面大致了解了Struts 2框架的基本內(nèi)容,但這些基本內(nèi)容都必須建立在Struts 2的配置文件基礎(chǔ)之上,這些配置文件的配置信息也是Struts 2應(yīng)用的核心部分。
配置Struts2 web.xml文件
任何MVC框架都需要與Web應(yīng)用整合,這就不得不借助于Struts2 web.xml文件,只有配置在Struts2 web.xml文件中Servlet才會(huì)被應(yīng)用加載。
通常,所有的MVC框架都需要Web應(yīng)用加載一個(gè)核心控制器,對于Struts 2框架而言,需要加載FilterDispatcher,只要Web應(yīng)用負(fù)責(zé)加載FilterDispatcher,F(xiàn)ilterDispatcher將會(huì)加載應(yīng)用的Struts 2框架。
因?yàn)镾truts 2將核心控制器設(shè)計(jì)成Filter,而不是一個(gè)普通Servlet。故為了讓W(xué)eb應(yīng)用加載FilterDispacher,只需要在Struts2 web.xml文件中配置FilterDispatcher即可。
配置FilterDispatcher的代碼片段如下:
< !-- 配置Struts 2核心Filter的名字 -->struts< /FILTER-NAME>
< FILTER-CLASS>org.apache.struts2.dispatcher.FilterDispatcher < /FILTER-CLASS>
< INIT-PARAM>
< !-- 配置Struts 2框架默認(rèn)加載的Action包結(jié)構(gòu) -->
< PARAM-NAME>actionPackages< /PARAM-NAME>
< PARAM-VALUE>org.apache.struts2.showcase.person< /PARAM-VALUE>
< /INIT-PARAM>
< !-- 配置Struts 2框架的配置提供者類 -->
< INIT-PARAM>
< PARAM-NAME>configProviders < /PARAM-NAME>
< PARAM-VALUE>lee.MyConfigurationProvider< /PARAM-VALUE>
< /INIT-PARAM>
< /FILTER>
正如上面看到的,當(dāng)配置Struts 2的FilterDispatcher類時(shí),可以指定一系列的初始化參數(shù),為該Filter配置初始化參數(shù)時(shí),其中有3個(gè)初始化參數(shù)有特殊意義:
config:該參數(shù)的值是一個(gè)以英文逗號(,)隔開的字符串,每個(gè)字符串都是一個(gè)XML配置文件的位置。Struts 2框架將自動(dòng)加載該屬性指定的系列配置文件。
actionPackages:該參數(shù)的值也是一個(gè)以英文逗號(,)隔開的字符串,每個(gè)字符串都是一個(gè)包空間,Struts 2框架將掃描這些包空間下的Action類。
configProviders:如果用戶需要實(shí)現(xiàn)自己的ConfigurationProvider類,用戶可以提供一個(gè)或多個(gè)實(shí)現(xiàn)了ConfigurationProvider接口的類,然后將這些類的類名設(shè)置成該屬性的值,多個(gè)類名之間以英文逗號(,)隔開。
除此之外,還可在此處配置Struts 2常量,每個(gè) 元素配置一個(gè)Struts 2常量,其中 子元素指定了常量name,而 子元素指定了常量value。
提示 關(guān)于Struts 2常量的講解,請參閱本書的4.1.2節(jié)。
在Struts2 web.xml文件中配置了該Filter,還需要配置該Filter攔截的URL。通常,我們讓該Filter攔截所有的用戶請求,因此使用通配符來配置該Filter攔截的URL。
下面是配置該Filter攔截URL的配置片段:
配置了Struts 2的核心FilterDispatcher后,基本完成了Struts 2在web.xml文件中的配置。
如果Web應(yīng)用使用了Servlet 2.3以前的規(guī)范,因?yàn)閃eb應(yīng)用不會(huì)自動(dòng)加載Struts 2框架的標(biāo)簽文件,因此必須在Struts2 web.xml文件中配置加載Struts 2標(biāo)簽庫。
配置加載Struts 2標(biāo)簽庫的配置片段如下:
在上面配置片段中,指定了Struts 2標(biāo)簽庫配置文件物理位置:/WEB-INF/struts- tags.tld,因此我們必須手動(dòng)復(fù)制Struts 2的標(biāo)簽庫定義文件,將該文件放置在Web應(yīng)用的WEB-INF路徑下。
如果Web應(yīng)用使用Servlet 2.4以上的規(guī)范,則無需在Struts2 web.xml文件中配置標(biāo)簽庫定義,因?yàn)镾ervlet 2.4規(guī)范會(huì)自動(dòng)加載標(biāo)簽庫定義文件。
提示 Struts 2的標(biāo)簽庫定義文件包含在struts2-core-2.0.6.jar文件里,在struts2-core-2.0.6.jar文件的META-INF路徑下,包含了一個(gè)struts-tag.tld文件,這個(gè)文件就是Struts 2的標(biāo)簽庫定義文件,Servlet 2.4規(guī)范會(huì)自動(dòng)加載該標(biāo)簽庫文件。
對于Servlet 2.4以上的規(guī)范,Web應(yīng)用自動(dòng)加載該標(biāo)簽庫定義文件。加載struts-tag.tld標(biāo)簽庫定義文件時(shí),該文件的開始部分包含如下代碼片段:
因?yàn)樵撐募幸呀?jīng)定義了該標(biāo)簽庫的URI:struts-tags,這就避免了在Struts2 web.xml文件中重新定義Struts 2標(biāo)簽庫文件的URI。
【編輯推薦】
- 在Eclipse中開發(fā)struts應(yīng)用程序
- 手把手教你在Eclipse中配置開發(fā)Struts
- Eclipse下開發(fā)struts完整解決亂碼問題
- Struts相關(guān)背景介紹
- 使用Easy Struts for Eclipse開發(fā)Struts
本文名稱:教你如何配置Struts2 web.xml文件
轉(zhuǎn)載來源:http://www.fisionsoft.com.cn/article/coihjee.html


咨詢
建站咨詢
