框架的由来
就是由多种设计模式配合形成的特定的框架来处理特点的问题,底层是通过java的反射机制来完成的
dtd 是xml文件的约束技术中的一种
web.xml配置tomcat的一些东西
html和xml的区别
代码如下
html:
<body>
<h1>bbb</h1>
<b>xxx</b>
<c>aaa</c>
</body>
``
xml:
xml是不能和html一样乱写的,所有html和xml有约束的差异性
HTML是超文本
xml是可扩展标记语言
xml能够通过字符串表示对象的结构
xml的用途
做配置(几乎99%的框架都有配置文件)
做数据传输
1.什么是格式良好的xml
1.1有且只有一个根元素
1.2xml标签大小正确区分
1.3 正确使用结束标签
1.4 正确嵌套标签
1.5使用了合法的标签名
1.6 定义有效的属性
1.1有且只有一个根元素
<persons>
<person pid="p1" sex="男" qq="aaa" parent="p2">
<name>张小明</name>
<age>10</age>
<contact>
<phone>1234567</phone>
</contact>
<br/>
</person>
<person pid="p2">
<name>张大明</name>
<age>35</age>
<contact>
<email>123@qq.com</email>
</contact>
</person>
</persons>
<persons>
<person pid="p1" sex="男" qq="aaa" parent="p2">
<name>张小明</name>
<age>10</age>
<contact>
<phone>1234567</phone>
</contact>
<br/>
</person>
<person pid="p2">
<name>张大明</name>
<age>35</age>
<contact>
<email>123@qq.com</email>
</contact>
</person>
</persons>
person报错就是1.1有且只有一个根元素
第二个
1.2xml标签大小正确区分
<persons>
<person pid="p1" sex="男" qq="aaa" parent="p2">
<name>张小明</name>
<age>10</age>
<contact>
<phone>1234567</phone>
</contact>
<br/>
</person>
<person pid="p2">
<name>张大明</name>
<age>35</age>
<contact>
<email>123@qq.com</email>
</contact>
</person>
</persons>
原本是小写的,你写成大写她就报错了。1.2xml标签大小正确区分
第三个
1.3 正确使用结束标签
<?xml version="1.0" encoding="UTF-8"?>
<persons>
<person pid="p1" sex="男" qq="aaa" parent="p2">
<name>张小明</name>
<age>10</age>
<contact>
<phone>1234567</phone>
</contact>
<br/>
</person>
<person pid="p2">
<name>张大明</name>
<age>35</age>
<contact>
<email>123@qq.com</email>
</contact>
</person>
</persons>
你这个结束时候的标签错了,她也会报错
第4个1.4 正确嵌套标签
<?xml version="1.0" encoding="UTF-8"?>
<persons>
<person pid="p1" sex="男" qq="aaa" parent="p2">
<name>张小明</name>
<age>10</age>
<contact>
<phone>1234567</phone>
</contact>
<br/>
</person>
<person pid="p2">
<name>张大明</name>
<age>35</age>
<contact>
<email>123@qq.com</email>
</contact>
</person>
</persons>
因为你这个嵌套不正确她也会报错
1.5使用了合法的标签名
<?xml version="1.0" encoding="UTF-8"?>
<persons>
<person pid="p1" sex="男" qq="aaa" parent="p2">
<name>张小明</name>
<age>10</age>
<contact>
<phone>1234567</phone>
</contact>
<br/>
</person>
<person pid="p2">
<name>张大明</name>
<age>35</age>
<contact>
<email>123@qq.com</email>
</contact>
</person>
</persons>
你不使用合法的字符会报错
1.6 定义有效的属性
<?xml version="1.0" encoding="UTF-8"?>
<persons>
<person pid="p1" sex="男" qq="aaa" parent="p2">
<name>张小明</name>
<age>10</age>
<contact>
<phone>1234567</phone>
</contact>
<br/>
</person>
<person pid="p2">
<name>张大明</name>
<age>35</age>
<contact>
<email>123@qq.com</email>
</contact>
</person>
</persons>
你没有定义正确的属性
元素的限制
- 元素的分类<!ELEMENT element-name EMPTY>//空元素 <!ELEMENT element-name (#PCDATA)>//文本元素 <!ELEMENT element-name (e1,e2)>//混合元素
,
|
次数: +, 1~n
*, 0~n
?, 0或1
没有
<persons>
<person>
<name>张小明</name>
<age>10</age>
<contact>
<phone>1234567</phone>
</contact>
<br/>
</person>
<person>
<name>张大明</name>
<age>35</age>
<contact>
<email>123@qq.com</email>
</contact>
</person>
</persons>
她这个就算全部把那个文本标签和空标签写了,当哪里还是什么都会错,看那个demo3
如下,第一步先把标签加过来
<persons>
<person pid="p1" sex="男" qq="aaa" parent="p2">
<name>张小明</name>
<age>10</age>
<contact>
<phone>1234567</phone>
</contact>
<br/>
</person>
<person pid="p2">
<name>张大明</name>
<age>35</age>
<contact>
<email>123@qq.com</email>
</contact>
</person>
</persons>
<!DOCTYPE persons [
<!ELEMENT persons (person+)>
<!ELEMENT person (name,age,contact,br?)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT age (#PCDATA)>
<!ELEMENT contact (phone |email )>
<!ELEMENT phone (#PCDATA)>
<!ELEMENT br EMPTY>
<!ELEMENT email (#PCDATA)>
]>
<persons pid="pi" sex="男" parnt="p2">
<person >
<name>张小明</name>
<age>10</age>
<contact>
<phone>1234567</phone>
</contact>
<br/>
</person>
<person>
<name>张大明</name>
<age>35</age>
<contact>
<email>123@qq.com</email>
</contact>
</person>
</persons>
怎么样才能让她不报错
哪里加错,就往那个地方写,就可以了