<?xml?version="1.0"?encoding="UTF-8"?>
<!DOCTYPE?struts-config?PUBLIC
"-//Apache?Software?Foundation//DTD?Struts?Configuration?1.1//EN"
"
http://jakarta.apache.org/struts/dtds/struts-config.dtd"><!--?struts-config.xml中的元素必須按照上述doc指令中的dtd文檔定義順序書寫,本例即遵從了dtd定義順序?--><!--?struts-config是整個(gè)xml的根元素,其他元素必須被包含其內(nèi)?-->
<struts-config><!--
???名稱:data-sources
???描述:data-sources元素定義了web?App所需要使用的數(shù)據(jù)源
???數(shù)量:最多一個(gè)
???子元素:data-source
-->
<data-sources>
???<!--
????名稱:data-source
????描述:data-source元素定義了具體的數(shù)據(jù)源
????數(shù)量:任意多個(gè)
????屬性:
?????@key:當(dāng)需要配置多個(gè)數(shù)據(jù)源時(shí),相當(dāng)于數(shù)據(jù)源的名稱,用來(lái)數(shù)據(jù)源彼此間進(jìn)行區(qū)別
?????@type:可以使用的數(shù)據(jù)源實(shí)現(xiàn)的類,一般來(lái)自如下四個(gè)庫(kù)
??????Poolman,開放源代碼軟件
??????Expresso,Jcorporate
??????JDBC?Pool,開放源代碼軟件
??????DBCP,Jakarta
???-->
???<data-source?key="firstOne"?type="org.apache.commons.dbcp.BasicDataSource">
????<!--
?????名稱:set-property
?????描述:用來(lái)設(shè)定數(shù)據(jù)源的屬性
?????屬性:
??????@autoCommit:是否自動(dòng)提交?可選值:true/false
??????@description:數(shù)據(jù)源描述
??????@driverClass:數(shù)據(jù)源使用的類
??????@maxCount:最大數(shù)據(jù)源連接數(shù)
??????@minCount:最小數(shù)據(jù)源連接數(shù)
??????@user:數(shù)據(jù)庫(kù)用戶
??????@password:數(shù)據(jù)庫(kù)密碼
??????@url:數(shù)據(jù)庫(kù)url
????-->
????<set-property?property="autoCommit"?value="true"/>
????<set-property?property="description"?value="Hello!"/>
????<set-property?property="driverClass"?value="com.mysql.jdbc.Driver"/>
????<set-property?property="maxCount"?value="10"/>
????<set-property?property="minCount"?value="2"/>
????<set-property?property="user"?value="root"/>
????<set-property?property="password"?value=""/>
????<set-property?property="url"?value="jdbc:mysql://localhost:3306/helloAdmin"/>
???</data-source>
</data-sources>
<!--
???名稱:form-beans
???描述:用來(lái)配置多個(gè)ActionForm?Bean
???數(shù)量:最多一個(gè)
???子元素:form-bean
-->
<form-beans>
???<!--
????名稱:form-bean
????描述:用來(lái)配置ActionForm?Bean
????數(shù)量:任意多個(gè)
????子元素:form-property
????屬性:
?????@className:指定與form-bean元素相對(duì)應(yīng)的配置類,一般默認(rèn)使用org.apaceh.struts.config.FormBeanConfig,如果自定義,則必須繼承?FormBeanConfig
?????@name:必備屬性!為當(dāng)前form-bean制定一個(gè)全局唯一的標(biāo)識(shí)符,使得在整個(gè)Struts框架內(nèi),可以通過該標(biāo)識(shí)符來(lái)引用這個(gè)ActionForm?Bean。
?????@type:必備屬性!指明實(shí)現(xiàn)當(dāng)前ActionForm?Bean的完整類名。
???-->
???<form-bean?name="Hello"?type="myPack.Hello">
????<!--
?????名稱:form-property
?????描述:用來(lái)設(shè)定ActionForm?Bean的屬性
?????數(shù)量:根據(jù)實(shí)際需求而定,例如,ActionForm?Bean對(duì)應(yīng)的一個(gè)登陸Form中有兩個(gè)文本框,name和password,ActionForm?Bean中也有這兩個(gè)字段,則此處編寫兩個(gè)form-property來(lái)設(shè)定屬性
?????屬性:
??????@className:指定與form-property相對(duì)應(yīng)的配置類,默認(rèn)是org.apache.struts.config.FormPropertyConfig,如果自定義,則必須繼承FormPropertyConfig類
??????@name:所要設(shè)定的ActionForm?Bean的屬性名稱
??????@type:所要設(shè)定的ActionForm?Bean的屬性值的類
??????@initial:當(dāng)前屬性的初值
????-->
????<form-property?name="name"?type="java.lang.String"/>
????<form-property?name="number"?type="java.lang.Iteger"?initial="18"/>
???</form-bean>
</form-beans>
<!--
???名稱:global-exceptions
???描述:處理異常
???數(shù)量:最多一個(gè)
???子元素:exception
-->
<global-exceptions>
???<!--
????名稱:exception
????描述:具體定義一個(gè)異常及其處理
????數(shù)量:任意多個(gè)
????屬性:
?????@className:指定對(duì)應(yīng)exception的配置類,默認(rèn)為org.apache.struts.config.ExceptionConfig
?????@handler:指定異常處理類,默認(rèn)為org.apache.struts.action.ExceptionHandler
?????@key:指定在Resource?Bundle種描述該異常的消息key
?????@path:指定當(dāng)發(fā)生異常時(shí),進(jìn)行轉(zhuǎn)發(fā)的路徑
?????@scope:指定ActionMessage實(shí)例存放的范圍,默認(rèn)為request,另外一個(gè)可選值是session
?????@type:必須要有!指定所需要處理異常類的名字。
?????@bundle:指定資源綁定
???-->
???<exception
????key=""hello.error
????path="/error.jsp"
????scope="session"
????type="hello.HandleError"/>
</global-exceptions>
<!--
???名稱:global-forwards
???描述:定義全局轉(zhuǎn)發(fā)
???數(shù)量:最多一個(gè)
???子元素:forward
-->
<global-forwards>
???<!--
????名稱:forward
????描述:定義一個(gè)具體的轉(zhuǎn)發(fā)
????數(shù)量:任意多個(gè)
????屬性:
?????@className:指定和forward元素對(duì)應(yīng)的配置類,默認(rèn)為org.apache.struts.action.ActionForward
?????@contextRelative:如果為true,則指明使用當(dāng)前上下文,路徑以“/”開頭,默認(rèn)為false
?????@name:必須配有!指明轉(zhuǎn)發(fā)路徑的唯一標(biāo)識(shí)符
?????@path:必須配有!指明轉(zhuǎn)發(fā)或者重定向的URI。必須以"/"開頭。具體配置要與contextRelative相應(yīng)。
?????@redirect:為true時(shí),執(zhí)行重定向操作,否則執(zhí)行請(qǐng)求轉(zhuǎn)發(fā)。默認(rèn)為false
???-->
???<forward?name="A"?path="/a.jsp"/>
???<forward?name="B"?path="/hello/b.do"/>
</global-forwards>
<!--
???名稱:action-mappings
???描述:定義action集合
???數(shù)量:最多一個(gè)
???子元素:action
-->
<action-mappings>
???<!--
????名稱:action
????描述:定義了從特定的請(qǐng)求路徑到相應(yīng)的Action類的映射
????數(shù)量:任意多個(gè)
????子元素:exception,forward(二者均為局部量)
????屬性:
?????@attribute:制定與當(dāng)前Action相關(guān)聯(lián)的ActionForm?Bean在request和session范圍內(nèi)的名稱(key)
?????@className:與Action元素對(duì)應(yīng)的配置類。默認(rèn)為org.apache.struts.action.ActionMapping
?????@forward:指名轉(zhuǎn)發(fā)的URL路徑
?????@include:指名包含的URL路徑
?????@input:指名包含輸入表單的URL路徑,表單驗(yàn)證失敗時(shí),請(qǐng)求會(huì)被轉(zhuǎn)發(fā)到該URL中
?????@name:指定和當(dāng)前Acion關(guān)聯(lián)的ActionForm?Bean的名字。該名稱必須在form-bean元素中定義過。
?????@path:指定訪問Action的路徑,以"/"開頭,沒有擴(kuò)展名
?????@parameter:為當(dāng)前的Action配置參數(shù),可以在Action的execute()方法中,通過調(diào)用ActionMapping的getParameter()方法來(lái)獲取參數(shù)
?????@roles:指定允許調(diào)用該Aciton的安全角色。多個(gè)角色之間用逗號(hào)分割。處理請(qǐng)求時(shí),RequestProcessor會(huì)根據(jù)該配置項(xiàng)來(lái)決定用戶是否有調(diào)用該Action的權(quán)限
?????@scope:指定ActionForm?Bean的存在范圍,可選值為request和session。默認(rèn)為session
?????@type:指定Action類的完整類名
?????@unknown:值為true時(shí),表示可以處理用戶發(fā)出的所有無(wú)效的Action?URL。默認(rèn)為false
?????@validate:指定是否要先調(diào)用ActionForm?Bean的validate()方法。默認(rèn)為true
????注意:如上屬性中,forward/include/type三者相斥,即三者在同一Action配置中只能存在一個(gè)。
???-->
???<action?path="/search"
????type="addressbook.actions.SearchAction"
????name="searchForm"
????scope="request"
????validate="true"
????input="/search.jsp">
????<forward?name="success"?path="/display.jsp"/>
???</action>??
</action-mappings>
<!--
???名稱:controller
???描述:用于配置ActionServlet
???數(shù)量:最多一個(gè)
???屬性:
????@bufferSize:指定上傳文件的輸入緩沖的大小.默認(rèn)為4096
????@className:指定當(dāng)前控制器的配置類.默認(rèn)為org.apache.struts.config.ControllerConfig
????@contentType:指定相應(yīng)結(jié)果的內(nèi)容類型和字符編碼
????@locale:指定是否把Locale對(duì)象保存到當(dāng)前用戶的session中,默認(rèn)為false
????@processorClass:指定負(fù)責(zé)處理請(qǐng)求的Java類的完整類名.默認(rèn)org.apache.struts.action.RequestProcessor
????@tempDir:指定文件上傳時(shí)的臨時(shí)工作目錄.如果沒有設(shè)置,將才用Servlet容器為web應(yīng)用分配的臨時(shí)工作目錄.
????@nochache:true時(shí),在相應(yīng)結(jié)果中加入特定的頭參數(shù):Pragma?,Cache-Control,Expires防止頁(yè)面被存儲(chǔ)在可數(shù)瀏覽器的緩存中,默認(rèn)為false
-->
<controller?
???contentType="text/html;charset=UTF-8"
???locale="true"
???processorClass="CustomRequestProcessor">
</controller><!--
???名稱:message-resources
???描述:配置Resource?Bundle.
???數(shù)量:任意多個(gè)
???屬性:
????@className:指定和message-resources對(duì)應(yīng)的配置類.默認(rèn)為org.apache.struts.config.MessageResourcesConfig
????@factory:指定資源的工廠類,默認(rèn)為org.apache.struts.util.PropertyMessageResourcesFactory
????@key:
????@null:
????@parameter:
-->
<message-resources
???null="false"
???parameter="defaultResource"/>
<message-resources
???key="images"
???null="false"
???parameter="ImageResources"/>
??
<!--
???名稱:plug-in
???描述:用于配置Struts的插件
???數(shù)量:任意多個(gè)
???子元素:set-property
???屬性:
????@className:指定Struts插件類.此類必須實(shí)現(xiàn)org.apache.struts.action.PlugIn接口
-->
<plug-in
???className="org.apache.struts.validator.ValidatorPlugIn">
???<!--
????名稱:set-property
????描述:配置插件的屬性
????數(shù)量:任意多個(gè)
????屬性:
?????@property:插件的屬性名稱
?????@value:該名稱所配置的值
???-->
???<set-property?
????property="pathnames"
????value="/WEB-INF/validator-rules.xml,/WEB-INF/vlaidation.xml"/>
</plug-in>
</struts-config>
posted on 2008-12-29 15:46
JasonChou 閱讀(2027)
評(píng)論(0) 編輯 收藏 所屬分類:
j2ee