Java Web
2021-10-14 10:46:14 14 举报
AI智能生成
Java Web
作者其他创作
大纲/内容
HTTP
JSP/JSTL
数据库
MySql
redis
request/response
前端基础
HTML
<div><br></div><div>CSS</div>
JavaScript
JQuery
AJAX
三大组件
Servlet
Filter
Listener
XML
1. 概念
概念:Extensible Markup Language 可扩展标记语言<br>可自定义标签
2. 语法
基本语法:
1. xml文档的后缀名 .xml<br> 2. xml第一行必须定义为文档声明(第一行不能空行)<br> 3. xml文档中有且仅有一个根标签<br> 4. 属性值必须使用引号(单双都可)引起来<br> 5. 标签必须正确关闭<br> 6. xml标签名称区分大小写
约束
规定xml文档的书写规则
DTD
例子:<br><!ELEMENT students (student*) > students为根标签,students里只能出现student标签,*代表无数次<br><!ELEMENT student (name,age,sex)> student标签里只能出现name,age,sex,次数为1且顺序唯一<br><!ELEMENT name (#PCDATA)> #PCDATA字符串类型<br><!ELEMENT age (#PCDATA)><br><!ELEMENT sex (#PCDATA)><br><!ATTLIST student number ID #REQUIRED> 设置number为student的属性,ID指该属性唯一且属性值不能以数字开头,#REQUIRED指该属性是必须的
引入dtd文档到xml文档方式
外部dtd
将约束的规则定义在外部的dtd文件中
本地:<!DOCTYPE 根标签名 <b>SYSTEM</b> "dtd文件的位置">
<?xml version="1.0" encoding="UTF-8" ?><br><!DOCTYPE students SYSTEM "student.dtd"><br><br><students><br> <student number="itcast_0001"><br> <name>tom</name><br> <age>18</age><br> <sex>male</sex><br> </student><br></students>
网络:<!DOCTYPE 根标签名 <b>PUBLIC </b>"dtd文件名字(随便起)" "dtd文件的位置URL">
内部dtd(不常用)
将约束规则定义在xml文档中
<?xml version="1.0" encoding="UTF-8" ?><br><!DOCTYPE students [<br><!ELEMENT students (student*) ><br><!ELEMENT student (name,age,sex)><br><!ELEMENT name (#PCDATA)><br><!ELEMENT age (#PCDATA)><br><!ELEMENT sex (#PCDATA)><br><!ATTLIST student number ID #REQUIRED><br>]><br><br><students><br> <student number="itcast_0001"><br> <name>tom</name><br> <age>18</age><br> <sex>male</sex><br> </student><br></students>
Schema(用于框架)
约束文件为xsd文件
引入
1.填写xml文档的根标签名称
2.引入xsi前缀
xmlns: xsi="http://www.w3.org/2001/XMLSchema-instance"
3.引入xsd文件命名空间
xsi:schemaLocation="http://www.itcast.cn/xml student.xsd"
4.为每一个xsd约束声明一个前缀,作为标识
什么都不写默认空前缀<br>xmlns="http://www.itcast.cn/xml"
a标识,使用任何标签都要引入这个a前缀<br>xmlns:a ="http://www.itcast.cn/xml"
<a:student number="heima_0001"><br> <a:name>tom</a:name><br> <a:age>18</a:age><br> <a:sex>male</a:sex><br> </a:student><br>
例子:两个约束文档
<a:students xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"<br> xsi:schemaLocation="<br> http://www.aaa.cn/xml <b>student1.xsd</b><br> http://www.bbb.cn/xml <b>student2.xsd</b>" 两个约束文档<br> <b> xmlns:a</b>="http://www.itcast.cn/xml"<br> <b>xmlns:b</b>="http://www.itcast.cn/xml"<br>><br> <a:student number="heima_0001"><br> <a:name>tom</a:name><br> <a:age>18</a:age><br> <a:sex>male</a:sex><br> </a:student><br> </a:students>
3. 解析
两种解析思想
DOM思想
将标记语言文档一次性加载进内存,在内存中形成一颗dom树
优点:操作方便,可以对文档进行CRUD的所有操作
缺点:树形结构比较占内存
主要应用于服务器端
SAX思想
逐行读取,基于事件驱动
优点:不占内存
缺点:只能读取,不能增删改
主要应用于移动端(内存小)
常见解析器
1. JAXP:sun公司提供的解析器,支持dom和sax两种思想(不使用)
2. DOM4J:一款非常优秀的解析器
3. Jsoup:jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。<br>它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。
4. PULL:Android操作系统内置的解析器,sax方式的。
cookie/session
0 条评论
下一页
为你推荐
查看更多