生活随笔
收集整理的這篇文章主要介紹了
Struts1.2配置详解
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
http://zhouwendong006.iteye.com/blog/397043
Xml代碼 ?
<?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>??<!-- ?????名稱:data-sources ?????描述:data-sources元素定義了web?App所需要使用的數據源 ?????數量:最多一個 ?????子元素:data-source ??-->??<data-sources>?????<!-- ??????名稱:data-source ??????描述:data-source元素定義了具體的數據源 ??????數量:任意多個 ??????屬性: ???????@key:當需要配置多個數據源時,相當于數據源的名稱,用來數據源彼此間進行區別 ???????@type:可以使用的數據源實現的類,一般來自如下四個庫 ????????Poolman,開放源代碼軟件 ????????Expresso,Jcorporate ????????JDBC?Pool,開放源代碼軟件 ????????DBCP,Jakarta ?????-->?????<data-source?key="firstOne"?type="org.apache.commons.dbcp.BasicDataSource">??????<!-- ???????名稱:set-property ???????描述:用來設定數據源的屬性 ???????屬性: ????????@autoCommit:是否自動提交?可選值:true/false ????????@description:數據源描述 ????????@driverClass:數據源使用的類 ????????@maxCount:最大數據源連接數 ????????@minCount:最小數據源連接數 ????????@user:數據庫用戶 ????????@password:數據庫密碼 ????????@url:數據庫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 ?????描述:用來配置多個ActionForm?Bean ?????數量:最多一個 ?????子元素:form-bean ??-->??<form-beans>?????<!-- ??????名稱:form-bean ??????描述:用來配置ActionForm?Bean ??????數量:任意多個 ??????子元素:form-property ??????屬性: ???????@className:指定與form-bean元素相對應的配置類,一般默認使用org.apaceh.struts.config.FormBeanConfig,如果自定義,則必須繼承?FormBeanConfig ???????@name:必備屬性!為當前form-bean制定一個全局唯一的標識符,使得在整個Struts框架內,可以通過該標識符來引用這個ActionForm?Bean。 ???????@type:必備屬性!指明實現當前ActionForm?Bean的完整類名。 ?????-->?????<form-bean?name="Hello"?type="myPack.Hello">??????<!-- ???????名稱:form-property ???????描述:用來設定ActionForm?Bean的屬性 ???????數量:根據實際需求而定,例如,ActionForm?Bean對應的一個登陸Form中有兩個文本框,name和password,ActionForm?Bean中也有這兩個字段,則此處編寫兩個form-property來設定屬性 ???????屬性: ????????@className:指定與form-property相對應的配置類,默認是org.apache.struts.config.FormPropertyConfig,如果自定義,則必須繼承FormPropertyConfig類 ????????@name:所要設定的ActionForm?Bean的屬性名稱 ????????@type:所要設定的ActionForm?Bean的屬性值的類 ????????@initial:當前屬性的初值 ??????-->??????<form-property?name="name"?type="java.lang.String"/>??????<form-property?name="number"?type="java.lang.Iteger"?initial="18"/>?????</form-bean>??</form-beans>????<!-- ?????名稱:global-exceptions ?????描述:處理異常 ?????數量:最多一個 ?????子元素:exception ??-->??<global-exceptions>?????<!-- ??????名稱:exception ??????描述:具體定義一個異常及其處理 ??????數量:任意多個 ??????屬性: ???????@className:指定對應exception的配置類,默認為org.apache.struts.config.ExceptionConfig ???????@handler:指定異常處理類,默認為org.apache.struts.action.ExceptionHandler ???????@key:指定在Resource?Bundle種描述該異常的消息key ???????@path:指定當發生異常時,進行轉發的路徑 ???????@scope:指定ActionMessage實例存放的范圍,默認為request,另外一個可選值是session ???????@type:必須要有!指定所需要處理異常類的名字。 ???????@bundle:指定資源綁定 ?????-->?????<exception??????key=""hello.error ??????path="/error.jsp"??????scope="session"??????type="hello.HandleError"/>??</global-exceptions>????<!-- ?????名稱:global-forwards ?????描述:定義全局轉發 ?????數量:最多一個 ?????子元素:forward ??-->??<global-forwards>?????<!-- ??????名稱:forward ??????描述:定義一個具體的轉發 ??????數量:任意多個 ??????屬性: ???????@className:指定和forward元素對應的配置類,默認為org.apache.struts.action.ActionForward ???????@contextRelative:如果為true,則指明使用當前上下文,路徑以“/”開頭,默認為false ???????@name:必須配有!指明轉發路徑的唯一標識符 ???????@path:必須配有!指明轉發或者重定向的URI。必須以"/"開頭。具體配置要與contextRelative相應。 ???????@redirect:為true時,執行重定向操作,否則執行請求轉發。默認為false ?????-->?????<forward?name="A"?path="/a.jsp"/>?????<forward?name="B"?path="/hello/b.do"/>??</global-forwards>????<!-- ?????名稱:action-mappings ?????描述:定義action集合 ?????數量:最多一個 ?????子元素:action ??-->??<action-mappings>?????<!-- ??????名稱:action ??????描述:定義了從特定的請求路徑到相應的Action類的映射 ??????數量:任意多個 ??????子元素:exception,forward(二者均為局部量) ??????屬性: ???????@attribute:制定與當前Action相關聯的ActionForm?Bean在request和session范圍內的名稱(key) ???????@className:與Action元素對應的配置類。默認為org.apache.struts.action.ActionMapping ???????@forward:指名轉發的URL路徑 ???????@include:指名包含的URL路徑 ???????@input:指名包含輸入表單的URL路徑,表單驗證失敗時,請求會被轉發到該URL中 ???????@name:指定和當前Acion關聯的ActionForm?Bean的名字。該名稱必須在form-bean元素中定義過。 ???????@path:指定訪問Action的路徑,以"/"開頭,沒有擴展名 ???????@parameter:為當前的Action配置參數,可以在Action的execute()方法中,通過調用ActionMapping的getParameter()方法來獲取參數 ???????@roles:指定允許調用該Aciton的安全角色。多個角色之間用逗號分割。處理請求時,RequestProcessor會根據該配置項來決定用戶是否有調用該Action的權限 ???????@scope:指定ActionForm?Bean的存在范圍,可選值為request和session。默認為session ???????@type:指定Action類的完整類名 ???????@unknown:值為true時,表示可以處理用戶發出的所有無效的Action?URL。默認為false ???????@validate:指定是否要先調用ActionForm?Bean的validate()方法。默認為true ??????注意:如上屬性中,forward/include/type三者相斥,即三者在同一Action配置中只能存在一個。 ?????-->?????<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 ?????數量:最多一個 ?????屬性: ??????@bufferSize:指定上傳文件的輸入緩沖的大小.默認為4096 ??????@className:指定當前控制器的配置類.默認為org.apache.struts.config.ControllerConfig ??????@contentType:指定相應結果的內容類型和字符編碼 ??????@locale:指定是否把Locale對象保存到當前用戶的session中,默認為false ??????@processorClass:指定負責處理請求的Java類的完整類名.默認org.apache.struts.action.RequestProcessor ??????@tempDir:指定文件上傳時的臨時工作目錄.如果沒有設置,將才用Servlet容器為web應用分配的臨時工作目錄. ??????@nochache:true時,在相應結果中加入特定的頭參數:Pragma?,Cache-Control,Expires防止頁面被存儲在可數瀏覽器的緩存中,默認為false ??-->??<controller?????contentType="text/html;charset=UTF-8"?????locale="true"?????processorClass="CustomRequestProcessor">??</controller>??<!-- ?????名稱:message-resources ?????描述:配置Resource?Bundle. ?????數量:任意多個 ?????屬性: ??????@className:指定和message-resources對應的配置類.默認為org.apache.struts.config.MessageResourcesConfig ??????@factory:指定資源的工廠類,默認為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的插件 ?????數量:任意多個 ?????子元素:set-property ?????屬性: ??????@className:指定Struts插件類.此類必須實現org.apache.struts.action.PlugIn接口 ??-->??<plug-in?????className="org.apache.struts.validator.ValidatorPlugIn">?????<!-- ??????名稱:set-property ??????描述:配置插件的屬性 ??????數量:任意多個 ??????屬性: ???????@property:插件的屬性名稱 ???????@value:該名稱所配置的值 ?????-->?????<set-property??????property="pathnames"??????value="/WEB-INF/validator-rules.xml,/WEB-INF/vlaidation.xml"/>??</plug-in>????</struts-config>???
<?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是整個xml的根元素,其他元素必須被包含其內 -->
<struts-config>
<!--名稱:data-sources描述:data-sources元素定義了web App所需要使用的數據源數量:最多一個子元素:data-source
-->
<data-sources><!--名稱:data-source描述:data-source元素定義了具體的數據源數量:任意多個屬性:@key:當需要配置多個數據源時,相當于數據源的名稱,用來數據源彼此間進行區別@type:可以使用的數據源實現的類,一般來自如下四個庫Poolman,開放源代碼軟件Expresso,JcorporateJDBC Pool,開放源代碼軟件DBCP,Jakarta--><data-source key="firstOne" type="org.apache.commons.dbcp.BasicDataSource"><!--名稱:set-property描述:用來設定數據源的屬性屬性:@autoCommit:是否自動提交 可選值:true/false@description:數據源描述@driverClass:數據源使用的類@maxCount:最大數據源連接數@minCount:最小數據源連接數@user:數據庫用戶@password:數據庫密碼@url:數據庫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描述:用來配置多個ActionForm Bean數量:最多一個子元素:form-bean
-->
<form-beans><!--名稱:form-bean描述:用來配置ActionForm Bean數量:任意多個子元素:form-property屬性:@className:指定與form-bean元素相對應的配置類,一般默認使用org.apaceh.struts.config.FormBeanConfig,如果自定義,則必須繼承 FormBeanConfig@name:必備屬性!為當前form-bean制定一個全局唯一的標識符,使得在整個Struts框架內,可以通過該標識符來引用這個ActionForm Bean。@type:必備屬性!指明實現當前ActionForm Bean的完整類名。--><form-bean name="Hello" type="myPack.Hello"><!--名稱:form-property描述:用來設定ActionForm Bean的屬性數量:根據實際需求而定,例如,ActionForm Bean對應的一個登陸Form中有兩個文本框,name和password,ActionForm Bean中也有這兩個字段,則此處編寫兩個form-property來設定屬性屬性:@className:指定與form-property相對應的配置類,默認是org.apache.struts.config.FormPropertyConfig,如果自定義,則必須繼承FormPropertyConfig類@name:所要設定的ActionForm Bean的屬性名稱@type:所要設定的ActionForm Bean的屬性值的類@initial:當前屬性的初值--><form-property name="name" type="java.lang.String"/><form-property name="number" type="java.lang.Iteger" initial="18"/></form-bean>
</form-beans><!--名稱:global-exceptions描述:處理異常數量:最多一個子元素:exception
-->
<global-exceptions><!--名稱:exception描述:具體定義一個異常及其處理數量:任意多個屬性:@className:指定對應exception的配置類,默認為org.apache.struts.config.ExceptionConfig@handler:指定異常處理類,默認為org.apache.struts.action.ExceptionHandler@key:指定在Resource Bundle種描述該異常的消息key@path:指定當發生異常時,進行轉發的路徑@scope:指定ActionMessage實例存放的范圍,默認為request,另外一個可選值是session@type:必須要有!指定所需要處理異常類的名字。@bundle:指定資源綁定--><exceptionkey=""hello.errorpath="/error.jsp"scope="session"type="hello.HandleError"/>
</global-exceptions><!--名稱:global-forwards描述:定義全局轉發數量:最多一個子元素:forward
-->
<global-forwards><!--名稱:forward描述:定義一個具體的轉發數量:任意多個屬性:@className:指定和forward元素對應的配置類,默認為org.apache.struts.action.ActionForward@contextRelative:如果為true,則指明使用當前上下文,路徑以“/”開頭,默認為false@name:必須配有!指明轉發路徑的唯一標識符@path:必須配有!指明轉發或者重定向的URI。必須以"/"開頭。具體配置要與contextRelative相應。@redirect:為true時,執行重定向操作,否則執行請求轉發。默認為false--><forward name="A" path="/a.jsp"/><forward name="B" path="/hello/b.do"/>
</global-forwards><!--名稱:action-mappings描述:定義action集合數量:最多一個子元素:action
-->
<action-mappings><!--名稱:action描述:定義了從特定的請求路徑到相應的Action類的映射數量:任意多個子元素:exception,forward(二者均為局部量)屬性:@attribute:制定與當前Action相關聯的ActionForm Bean在request和session范圍內的名稱(key)@className:與Action元素對應的配置類。默認為org.apache.struts.action.ActionMapping@forward:指名轉發的URL路徑@include:指名包含的URL路徑@input:指名包含輸入表單的URL路徑,表單驗證失敗時,請求會被轉發到該URL中@name:指定和當前Acion關聯的ActionForm Bean的名字。該名稱必須在form-bean元素中定義過。@path:指定訪問Action的路徑,以"/"開頭,沒有擴展名@parameter:為當前的Action配置參數,可以在Action的execute()方法中,通過調用ActionMapping的getParameter()方法來獲取參數@roles:指定允許調用該Aciton的安全角色。多個角色之間用逗號分割。處理請求時,RequestProcessor會根據該配置項來決定用戶是否有調用該Action的權限@scope:指定ActionForm Bean的存在范圍,可選值為request和session。默認為session@type:指定Action類的完整類名@unknown:值為true時,表示可以處理用戶發出的所有無效的Action URL。默認為false@validate:指定是否要先調用ActionForm Bean的validate()方法。默認為true注意:如上屬性中,forward/include/type三者相斥,即三者在同一Action配置中只能存在一個。--><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數量:最多一個屬性:@bufferSize:指定上傳文件的輸入緩沖的大小.默認為4096@className:指定當前控制器的配置類.默認為org.apache.struts.config.ControllerConfig@contentType:指定相應結果的內容類型和字符編碼@locale:指定是否把Locale對象保存到當前用戶的session中,默認為false@processorClass:指定負責處理請求的Java類的完整類名.默認org.apache.struts.action.RequestProcessor@tempDir:指定文件上傳時的臨時工作目錄.如果沒有設置,將才用Servlet容器為web應用分配的臨時工作目錄.@nochache:true時,在相應結果中加入特定的頭參數:Pragma ,Cache-Control,Expires防止頁面被存儲在可數瀏覽器的緩存中,默認為false
-->
<controllercontentType="text/html;charset=UTF-8"locale="true"processorClass="CustomRequestProcessor">
</controller>
<!--名稱:message-resources描述:配置Resource Bundle.數量:任意多個屬性:@className:指定和message-resources對應的配置類.默認為org.apache.struts.config.MessageResourcesConfig@factory:指定資源的工廠類,默認為org.apache.struts.util.PropertyMessageResourcesFactory@key:@null:@parameter:
-->
<message-resourcesnull="false"parameter="defaultResource"/>
<message-resourceskey="images"null="false"parameter="ImageResources"/><!--名稱:plug-in描述:用于配置Struts的插件數量:任意多個子元素:set-property屬性:@className:指定Struts插件類.此類必須實現org.apache.struts.action.PlugIn接口
-->
<plug-inclassName="org.apache.struts.validator.ValidatorPlugIn"><!--名稱:set-property描述:配置插件的屬性數量:任意多個屬性:@property:插件的屬性名稱@value:該名稱所配置的值--><set-propertyproperty="pathnames"value="/WEB-INF/validator-rules.xml,/WEB-INF/vlaidation.xml"/>
</plug-in></struts-config>
?
轉載于:http://hi.baidu.com/uuwoxin/blog/item/57567ef003b61cc27931aaf8.html
?
總結
以上是生活随笔為你收集整理的Struts1.2配置详解的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。