突然间看到项目的sqlmap的配置文件中的DTD,担心以后会不会出问题,所以研究一下。
名词解释 dtd:文件类型定义(document type definition)
1.其实在做web开发过程中,我们通常会看到在xml或者html的头部位置通常都会引用一个dtd文件,那么为什么要引用这样的文件呢?它们到底有什么作用?不引用不可以吗?
2.下面简单介绍下xml的作用:
1)、在XML编辑工具(比如XMLSPY)中,如果指定DTD,编辑器就会限制用户在文档中能添加的元素或属性。 2)、如果指定DTD,依靠清晰、准确的语法规则文档,程序员就不必为了确认对词汇表的理解程度与词汇表的设计者面对面的交流。这些规则也形成了一种可靠的错误监测机制,程序员或解析器可以由此查找可能的错误。 3)、DTD可以看作程序中的数据结构。为了编写合适的DTD,你必须深入了解程序的流程。 4)、如果不指定DTD,程序可以运行(XML可以被解析),但是你无法确定XML中的数据是完全符合要求的。有时候,不正确的数据会导致莫名其妙的错误。
3.下面针对上述作用我们做一下简单介绍:
1.)在eclipse中做框架开发时,就有很多的配置文件,下面我们拿ibatis的配置文件来说,以前我在项目中配置sqlmap的时候,我的xml配置文件头部的dtd是这样的:
<!DOCTYPE sqlMap PUBLIC "-//iBATIS.com//DTD SQL Map 2.0//EN"
"http://www.ibatis.com/dtd/sql-map-2.dtd">
它的意思就是说我用该文件类型定义的规则来约束我们的编写,可是在编写的时候没有任何提示,后来我把给dtd改成如下内容:
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
然后我再编写的时候,它就有了提示,它提示的内容就是在该dtd中定义好的规则,我们只要遵守它的规则就不会出现问题。
2.)为什么上述两个dtd中,前一个dtd没有提示,后一个有呢?其实前一个dtd是ibatis之前的版本,后来ibatis加入到了apache组织,所以我们看到它的dtd的网址都变了。
3.)还有一个方法可以判断该dtd是否是有效的dtd,其实我们可以看到dtd它是一个网址,比如:
http://www.ibatis.com/dtd/sql-map-2.dtd
http://ibatis.apache.org/dtd/sql-map-2.dtd
其实我们只要看该dtd的地址能否请求到,能请求到,就是有效的,无法响应的就是无效的!
4.)其实我们在项目中用到的所有的框架,它们的配置文件都有自己相应的dtd文件,这个文件就封装在jar的类库中,我们可以在classpath中找到它们,比如,ibatis的dtd文件就放在:com.ibatis.sqlmap.engine.builder.xml/这个包下面。
5.)知道了它的dtd验证文件,我们也可以把它放到项目中,此时dtd可以是相对路径:
<!DOCTYPE sqlMap PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"./sql-map.dtd">
|
分享到:
相关推荐
ibatis sqlMap dtd ibatis sqlMap dtdibatis sqlMap dtdibatis sqlMap dtdibatis sqlMap dtd
通过理解DTD中的各个元素及其属性,可以更准确地掌握Ibatis的配置语法,从而编写出符合规范的XML配置。同时,将这些DTD文件导入Eclipse等IDE,可以得到代码提示和验证,大大提升开发效率,避免因配置错误导致的问题...
标题 "ibatis dtd文件" 涉及到的是关于iBATIS框架中XML配置文件的DTD(Document Type Definition)引用。iBATIS是一个流行的Java持久层框架,它允许将SQL查询直接映射到Java代码中,从而简化数据库操作。在编辑...
总结来说,"sql-map-2.dtd"和"sql-map-config-2.dtd"是Ibatis 2.x版本中非常关键的组件,它们为XML配置文件提供了结构化规则,使得开发人员能够编写出合法且易于维护的SQL映射文件和全局配置文件。理解并正确使用...
SqlMapConfig是IBatis中的核心配置文件,用于定义SqlMap的配置。SqlMapConfig文件可以包含多个SqlMap,每个SqlMap对应一个数据库表。SqlMapConfig文件的DTD文件是http://ibatis.apache.org/dtd/sql-map-2.dtd。 ...
在ibatis框架中,`sqlMapConfig.xml`是一个非常重要的配置文件,它主要用于设置ibatis的全局配置信息,包括数据库连接信息、环境配置以及其它运行时参数等。下面将对这个文件中的关键元素进行详细的解析。 ##### ...
在本文中,我们将深入探讨ibatis配置文件的关键组成部分及其如何影响ibatis框架的运行机制。ibatis(现在通常称为MyBatis)是一个优秀的持久层框架,它将SQL语句与Java代码分离,允许开发者直接编写SQL语句并映射到...
在Ibatis中,`sql-map`和`sql-map-config`是两个重要的XML配置文件,它们使用DTD(Document Type Definition)来定义其结构和规则。 DTD是XML文档类型定义,它定义了XML文档的合法构建块,包括元素、属性、实体等,...
配置文件`SqlMapConfig.xml`是ibatis的核心配置文件,用于配置数据源、事务管理器等核心组件。以下是一个典型的配置示例: ```xml <!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config ...
配置文件中可以灵活配置不同类型的`DataSource`实现,例如: - **SimpleDataSource**:简单的数据源实现。 - **JakartaDBCP**:基于Apache Commons DBCP的数据源。 - **JNDI DataSource**:通过JNDI上下文查找的...
1. **命名空间**:`<sqlMap>`标签中定义了命名空间`Ibatis`,用于区分不同的映射文件。 2. **类型别名**:`<typeAlias>`标签定义了类型别名`ibatis`,指向前面创建的POJO类`com.ibatis.Ibatis`。 3. **SQL语句**: ...
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN" "http://ibatis.apache.org/dtd/sql-map-2.dtd"> <sqlMap namespace="Account"> <typeAlias alias="Account" type="Account"/> ...
《iBatis配置与映射文件详解》 iBatis,作为一个轻量级的持久层框架,以其灵活的SQL映射和良好的数据库交互性深受开发者喜爱。本文将深入解析iBatis的核心配置文件`sqlMapConfig.xml`,以及映射文件的使用方法,...
首先,配置文件的开头是XML声明和DTD定义,确保了配置文件的结构符合iBATIS的规范: ```xml <!DOCTYPE sqlMapConfig PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN" ...
现在,Ibatis 已经被引入到项目中,我们可以开始编写配置文件了。Ibatis 的主要配置文件是 `SqlMapConfig.xml`,它定义了数据源、事务管理器以及其他全局设置。一个基本的 `SqlMapConfig.xml` 文件可能如下所示: `...
iBATIS是一个轻量级的持久层框架,它允许开发者将SQL语句直接写在XML配置文件中,降低了Java代码与数据库之间的耦合度。以下是iBATIS配置的主要步骤: 1. **添加依赖**:首先,在项目中引入iBATIS的jar包,通常包括...
在`ibatis` 中,`sql-map-2.dtd` 和 `sql-map-config-2.dtd` 是两个关键的DTD文件,它们定义了`ibatis` 配置文件的结构和规则。 **1. sql-map-2.dtd** `sql-map-2.dtd` 是`ibatis` 数据库映射文件的DTD,它定义了...
### iBATIS 三个版本对比分析 ...综上所述,iBATIS在不同版本中针对配置文件、映射文件及API方面进行了不同程度的改进和完善。这些变化不仅反映了技术的进步,也为用户提供了更加友好、高效的开发体验。
- 创建`sql-map-config.xml`文件,这是ibatis的核心配置文件,用于配置数据源、事务管理器等相关设置。 #### 四、ibatis核心配置详解 接下来我们将详细解释`sql-map-config.xml`文件中的各项配置: ```xml <!...