STRUTS的struts--config.xml详解
01.<?xml version="1.0" encoding="UTF-8"?> 02.<!DOCTYPE struts-config PUBLIC 03."-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" 04."http://jakarta.apache.org/struts/dtds/struts-config.dtd"> 05.<!-- struts-config.xml中的元素必须按照上述doc指令中的dtd文档定义顺序书写,本例即遵从了dtd定义顺序 --> 06.<!-- struts-config是整个xml的根元素,其他元素必须被包含其内 --> 07.<struts-config> 08.<!-- 09.名称:data-sources 10.描述:data-sources元素定义了web App所需要使用的数据源 11.数量:最多一个 12.子元素:data-source 13.--> 14.<data-sources> 15. <!-- 16. 名称:data-source 17. 描述:data-source 元素定义了具体的数据源 18. 数量:任意多个 19. 属性: 20. @key:当需要配置多个数据源时,相当于数据源的名称,用来数据源彼此间进行区别 21. @type:可以使用的数据源实现的类,一般来自如下四个库 22. Poolman,开放源代码软件 23. Expresso,Jcorporate 24. JDBC Pool,开放源代码软件 25. DBCP,Jakarta 26. --> 27. <data-source key="firstOne" type="org.apache.commons.dbcp.BasicDataSource"> 28. <!-- 29. 名称:set-property 30. 描述:用来设定数据源的属性 31. 属性: 32. @autoCommit:是否自动提交 可选值:true/false 33. @description:数据源描述 34. @driverClass:数据源使用的类 35. @maxCount:最大数据源连接数 36. @minCount:最小数据源连接数 37. @user:数据库用户 38. @password:数据库密码 39. @url:数据库url 40. --> 41. <set-property property="autoCommit" value="true"/> 42. <set-property property="description" value="Hello!"/> 43. <set-property property="driverClass" value="com.mysql.jdbc.Driver"/> 44. <set-property property="maxCount" value="10"/> 45. <set-property property="minCount" value="2"/> 46. <set-property property="user" value="root"/> 47. <set-property property="password" value=""/> 48. <set-property property="url" value="jdbc:mysql://localhost:3306/helloAdmin"/> 49. </data-source> 50.</data-sources> 51. 52.<!-- 53. 名称:form-beans 54. 描述:用来配置多个ActionForm Bean 55. 数量:最多一个 56. 子元素:form-bean 57.--> 58.<form-beans> 59. <!-- 60. 名称:form-bean 61. 描述:用来配置ActionForm Bean 62. 数量:任意多个 63. 子元素:form-property 64. 属性: 65. @className:指定与form-bean元素相对应的配置类,一般默认使用org.apaceh.struts.config.FormBeanConfig,如果自定义,则必须继承 FormBeanConfig 66. @name:必备属性!为当前form-bean制定一个全局唯一的标识符,使得在整个Struts框架内,可以通过该标识符来引用这个ActionForm Bean。 67. @type:必备属性!指明实现当前ActionForm Bean的完整类名。 68. --> 69. <form-bean name="Hello" type="myPack.Hello"> 70. <!-- 71. 名称:form-property 72. 描述:用来设定ActionForm Bean的属性 73. 数量:根据实际需求而定,例如,ActionForm Bean对应的一个登陆Form中有两个文本框,name和password,ActionForm Bean中也有这两个字段,则此处编写两个form-property来设定属性 74. 属性: 75. @className:指定与form-property相对应的配置类,默认是org.apache.struts.config.FormPropertyConfig,如果自定义,则必须继承FormPropertyConfig类 76. @name:所要设定的ActionForm Bean的属性名称 77. @type:所要设定的ActionForm Bean的属性值的类 78. @initial:当前属性的初值 79. --> 80. <form-property name="name" type="java.lang.String"/> 81. <form-property name="number" type="java.lang.Iteger" initial="18"/> 82. </form-bean> 83.</form-beans> 84. 85.<!-- 86. 名称:global-exceptions 87. 描述:处理异常 88. 数量:最多一个 89. 子元素:exception 90.--> 91.<global-exceptions> 92. <!-- 93. 名称:exception 94. 描述:具体定义一个异常及其处理 95. 数量:任意多个 96. 属性: 97. @className:指定对应exception的配置类,默认为org.apache.struts.config.ExceptionConfig 98. @handler:指定异常处理类,默认为org.apache.struts.action.ExceptionHandler 99. @key:指定在Resource Bundle种描述该异常的消息key 100. @path:指定当发生异常时,进行转发的路径 101. @scope:指定ActionMessage实例存放的范围,默认为request,另外一个可选值是session 102. @type:必须要有!指定所需要处理异常类的名字。 103. @bundle:指定资源绑定 104. --> 105. <exception 106. key=""hello.error 107. path="/error.jsp" 108. scope="session" 109. type="hello.HandleError"/> 110.</global-exceptions> 111. 112.<!-- 113. 名称:global-forwards 114. 描述:定义全局转发 115. 数量:最多一个 116. 子元素:forward 117.--> 118.<global-forwards> 119. <!-- 120. 名称:forward 121. 描述:定义一个具体的转发 122. 数量:任意多个 123. 属性: 124. @className:指定和forward元素对应的配置类,默认为org.apache.struts.action.ActionForward 125. @contextRelative:如果为true,则指明使用当前上下文,路径以“/”开头,默认为false 126. @name:必须配有!指明转发路径的唯一标识符 127. @path:必须配有!指明转发或者重定向的URI。必须以"/"开头。具体配置要与contextRelative相应。 128. @redirect:为true时,执行重定向操作,否则执行请求转发。默认为false 129. --> 130. <forward name="A" path="/a.jsp"/> 131. <forward name="B" path="/hello/b.do"/> 132.</global-forwards> 133. 134.<!-- 135. 名称:action-mappings 136. 描述:定义action集合 137. 数量:最多一个 138. 子元素:action 139.--> 140.<action-mappings> 141. <!-- 142. 名称:action 143. 描述:定义了从特定的请求路径到相应的Action类的映射 144. 数量:任意多个 145. 子元素:exception,forward(二者均为局部量) 146. 属性: 147. @attribute:制定与当前Action相关联的ActionForm Bean在request和session范围内的名称(key) 148. @className:与Action元素对应的配置类。默认为org.apache.struts.action.ActionMapping 149. @forward:指名转发的URL路径 150. @include:指名包含的URL路径 151. @input:指名包含输入表单的URL路径,表单验证失败时,请求会被转发到该URL中 152. @name:指定和当前Acion关联的ActionForm Bean的名字。该名称必须在form-bean元素中定义过。 153. @path:指定访问Action的路径,以"/"开头,没有扩展名 154. @parameter:为当前的Action配置参数,可以在Action的execute()方法中,通过调用ActionMapping的getParameter()方法来获取参数 155. @roles:指定允许调用该Aciton的安全角色。多个角色之间用逗号分割。处理请求时,RequestProcessor会根据该配置项来决定用户是否有调用该Action的权限 156. @scope:指定ActionForm Bean的存在范围,可选值为request和session。默认为session 157. @type:指定Action类的完整类名 158. @unknown:值为true时,表示可以处理用户发出的所有无效的Action URL。默认为false 159. @validate:指定是否要先调用ActionForm Bean的validate()方法。默认为true 160. 注意:如上属性中,forward/include/type三者相斥,即三者在同一Action配置中只能存在一个。 161. --> 162. <action path="/search" 163. type="addressbook.actions.SearchAction" 164. name="searchForm" 165. scope="request" 166. validate="true" 167. input="/search.jsp"> 168. <forward name="success" path="/display.jsp"/> 169. </action> 170.</action-mappings> 171. 172.<!-- 173. 名称:controller 174. 描述:用于配置ActionServlet 175. 数量:最多一个 176. 属性: 177. @bufferSize:指定上传文件的输入缓冲的大小.默认为4096 178. @className:指定当前控制器的配置类.默认为org.apache.struts.config.ControllerConfig 179. @contentType:指定相应结果的内容类型和字符编码 180. @locale:指定是否把Locale对象保存到当前用户的session中,默认为false 181. @processorClass:指定负责处理请求的Java类的完整类名.默认org.apache.struts.action.RequestProcessor 182. @tempDir:指定文件上传时的临时工作目录.如果没有设置,将才用Servlet容器为web应用分配的临时工作目录. 183. @nochache:true时,在相应结果中加入特定的头参数:Pragma ,Cache-Control,Expires防止页面被存储在可数浏览器的缓存中,默认为false 184.--> 185.<controller 186. contentType="text/html;charset=UTF-8" 187. locale="true" 188. processor 202. parameter="defaultResource"/> 203.<message-resources 204. key="images" 205. null="false" 206. parameter="ImageResources"/> 207. 208.<!-- 209. 名称:plug-in 210. 描述:用于配置Struts的插件 211. 数量:任意多个 212. 子元素:set-property 213. 属性: 214. @className:指定Struts插件类.此类必须实现org.apache.struts.action.PlugIn接口 215.--> 216.<plug-in 217. className="org.apache.struts.validator.ValidatorPlugIn"> 218. <!-- 219. 名称:set-property 220. 描述:配置插件的属性 221. 数量:任意多个 222. 属性: 223. @property:插件的属性名称 224. @value:该名称所配置的值 225. --> 226. <set-property 227. property="pathnames" 228. value="/WEB-INF/validator-rules.xml,/WEB-INF/vlaidation.xml"/> 229.</plug-in> 230.</struts-config>