Struts-config 的配置文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//
DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds
/struts-config_1_3.dtd">
<struts-config>
<data-sources>
<data-source type="org.apache.commons.dbcp.basicDataSource">
<set-property property="driverClassName" value="com.mysql.jdbc.Driver" />
<set-property property="url" value="jdbc:mysql://localhost:3306/member?characterEncoding=gb2312"/>
<set-property property="username" value="root" />
<set-property property="password" value="root" />
<set-property property="minActive" value="2" />
<set-property property="maxActive" value="20" />
<set-property property="defaultAutoCommit" value="true" />
</data-source>
</data-sources>
<!-- ==========<data-sources>和<data-source>的配置说明======================================= -->
在<data-sources>中可以设置多个<data-source>,<data-source>用来配置一个数据源,<data-source>的type属性用来指定一个数据
源的实现类,如 jakartar 的开源项目 DBCP: org.apache.commons.dbcp.BasicDataSource
在该标签体内通过<set-Property>标签来配置数据源的各种属性,各个属性作用说明如下:
DriverClassName:该数据源所用到的JDBC驱动 url:连接数据库所用的 url username:连接数据库用的账号 password:连接数据库用的密码
minActive:数据源的最小连接数 maxActve:数据源的最大连接数 defaultAutoCommit:是否自动提交
<!--============================================================================= -->
<form-beans >
<form-bean name="userLoginForm" type="struts.form.UserLoginForm" />
<form-bean name="accountForm" type="org.apache.struts.action.DynaActionForm" />
<form-property name="name" type="java.lang.String" />
<form-property name="age" type="java.lang.Integer" />
<form-property name="phone" type="java.lang.String" />
<form-property name="address" type="java.lang.String" />
</form-beans>
<!-- =========================<form-beans> 和 <form-bean>的配置说明====================== -->
在<form-beans>中可以设置多个<form-bean>,<form-bean>用来设置ActionForm Bean ..<form-bean>有两个属性
name:为当前一个 ActionForm Bean 指定一个供访问的名字 type:指定当前 ActionForm Bean 的完整类名
如果要配置动态 ActionForm 的话 ,可使用<form-property>来设置表单的属性,<form-property>有三个属性
name:表单属性的名称 type:表单属性的值的类型 initial:该属性的初始值
<!-- ============================================================================ -->
<global-exceptions >
<exception key="global.error.SQLError"
path="/errorPages/sql.jsp"
scope="request"
type="java.sql.SQLException" />
</global-exceptions>
<!-- ==================配置异常处理==================================================== -->
用于配置 java异常与异常处理类之间的映射,其属性说明如下:
key:消息资源文件中定义的消息key path:异常发生时的转发路径
scope:指定ActionMessage 实例存放的范围,默认为request,也可以选session
type:所需处理的异常类名
<!-- =========================================================================== -->
<global-forwards />
<action-mappings >
<action
attribute="userLoginForm"
input="/form/userLogin.jsp"
name="userLoginForm"
path="/userLogin"
scope="request"
type="com.yourcompany.struts.action.UserLoginAction"
cancellable="true" >
<forwards name="success" path="/index.jsp" />
</action>
</action-mappings>
<!-- ==============<action-mappings>和<action>的配置说明================================ -->
<action-mappings>用来设置多个<action>,<action>用于配置一个Action,在<action>中可使用<forward>来 为该Action
设置一个请求转发 <action>的属性说明如下:
attribute:设置与当前 Action 相关联的 ActionForm Bean在指定范围内的名称
input: 指定包含输入表单的URL路径,表单验证失败时,请求会被转发到该URL中
name: 指定一个在 <form-beans>中定义过的与该 Action 关联的名字
path: 指定访问Action的路径,以 "/"开头,没有扩展名
scope:指定ActionForm Bean 的存在范围,可以选request 和 session,默认为 session
type: 指定Action 类的完整类名
validate:指定是否要先调用 ActionForm Bean 的 validate() 方法,默认为 true
<!-- ===================================================================== -->
<controller contentType="text/html;charset=UTF-8"
locale="true"
processorClass="CustomRequestProcessor"/>
<!-- =============<controller>的配置说明========================================= -->
用于配置 ActionServlet 其属性说明如下:
bufferSize: 指定上传文件的输入缓冲的大小,默认为4096
className:指定当前控制器的配置类,默认为 org.apache.struts.config.ControllerConfig
contentType:指定相应结果的内容类型和字符编码
locale: 指定是否把 locale 对象保存到当前用户的 session 中,默认为 false
proccessorClass:指定负责处理请求的java类的完整类名 默认为 org.apache.struts.requestProccessor
temDir:指定文件上传时的临时工作目录,如果没有设置,将使用 Servlet容器为 Web 应用分配的临时工作目录
nochache: 为true时,在相应结果中加入特定的头参数 Pragma Cache-Control ..Expires 防止页面被存储在浏览器的缓存中
默认为false
<!-- ===================================================================== -->
<message-resources parameter="com.yourcompany.struts.ApplicationResources" />
<!-- 为 struts 框架设置一个消息资源绑定 -->
<plug-in
className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames"
value="/WEB-INF/validator-rules.xml,/WEB-INF/vlaidation.xml" />
</plug-in>
<!-- 用于配置Struts插件,通过className属性指定插件的类名 下面的可以设置属性,其说明如下:
Propertiy :插件的属性名称 value:该名称所配置的值 -->
</struts-config>