Struts struts-config.xml配置
### Struts struts-config.xml配置详解 #### 一、引言 在Java Web开发领域,Struts框架一直是构建MVC架构应用的重要工具之一。而`struts-config.xml`配置文件则是Struts应用的核心配置文件,它负责管理Struts应用中的各种组件配置。本文将详细介绍`struts-config.xml`配置文件的关键组成部分及其作用。 #### 二、文件结构 `struts-config.xml`文件通常位于WEB-INF目录下,遵循特定的DTD(Document Type Definition)定义。DTD用于规定XML文件的合法元素与属性等结构规则。例如,在Struts 1.x中,`struts-config.xml`文件的DTD如下所示: ```xml <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config.dtd"> ``` 这里指定了使用的DTD版本为1.1,并且给出了DTD的URL地址,这使得开发者能够确保文件符合规范。 #### 三、关键配置详解 ##### 1. Data Sources 配置 - **数据源配置**:这部分配置主要用于定义Web应用所需的数据源。通过`<data-sources>`元素,可以指定一个或多个数据源。 - `<data-source>`元素:每个数据源的具体配置信息,如连接池类型、数据库驱动、连接URL等。 - 属性示例: - `key`:唯一标识符,用于后续引用该数据源。 - `type`:数据源实现类,例如`org.apache.commons.dbcp.BasicDataSource`代表使用Apache Commons DBCP连接池。 - **具体配置**: ```xml <data-source key="firstOne" type="org.apache.commons.dbcp.BasicDataSource"> <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> ``` 其中,`<set-property>`元素用于设置数据源的各种属性值,比如自动提交模式、连接池的最大连接数等。 ##### 2. Form Beans 配置 - **表单Bean配置**:这部分用于定义表单Bean,即用户提交的数据对象。通过`<form-beans>`元素,可以指定一个或多个表单Bean。 - `<form-bean>`元素:每个表单Bean的具体配置信息,如对应的Java类、属性等。 - 属性示例: - `name`:表单Bean的名称,用于唯一标识。 - `type`:表单Bean对应的Java类。 - **具体配置**: ```xml <form-beans> <form-bean name="myForm" type="myPack.Hello"> <form-property type="java.lang.String"/> <form-property type="java.lang.Integer" initial="18"/> </form-bean> </form-beans> ``` 这里定义了一个名为`myForm`的表单Bean,其Java类为`myPack.Hello`,并且包含两个属性,一个String类型,另一个Integer类型初始值为18。 ##### 3. 全局异常处理配置 - **全局异常处理**:这部分用于配置全局异常处理机制,当某个Action抛出异常时,可以由指定的异常处理器来处理这些异常。 - `<global-exceptions>`元素:用于定义全局异常处理规则。 - `<exception>`元素:用于定义具体的异常处理逻辑。 - 属性示例: - `exception`:异常类的全限定名。 - `handler`:处理这个异常的处理器类的全限定名。 #### 四、总结 通过对`struts-config.xml`配置文件的详细解析,我们可以了解到如何通过不同的元素和属性来配置数据源、表单Bean以及全局异常处理等内容。这对于理解和使用Struts框架来说至关重要。希望本文能帮助读者更好地掌握Struts配置文件的相关知识。







<!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,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
剩余8页未读,继续阅读


- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 《化工仪表与自动化》课程测试题.doc
- seo及行业网站学习资料(学员版).ppt
- 四层电梯的自动化控制系统研究设计.doc
- EXCEL在复杂存货订购批量决策中的应用.doc
- SSH电子商务公共服务平台设计与实现系统架构附企业网站子系统.doc
- 以农机大数据为核心的农机服务体系建设.docx
- 七孔梅花管通信管道施工方案.doc
- 大数据下源代码同源性安全分析探讨.doc
- 我国城市电子商务发展趋势.docx
- 单片机原理及接技术李全利daan.doc
- 试探大数据对医院档案管理的影响及策略.docx
- (源码)基于Arduino的Karla和Kirill圣诞奇迹灯项目.zip
- 系统集成项目管理工程师考试大纲及培训指南DOC.doc
- 农村中小学现代远程教育设备维修网络申报设计开发.doc
- 办公自动化中的计算机技术应用探讨与研究.docx
- BIOSISPreviews40.ppt


