文章目录
chapter1 软件开发环境概述
1、软件开发环境定义
软件开发环境是相关一组软件工具的集合,它支持一定的软件开发方法或者按照一定的软件软件开发模型组织而成。
(方法+模型=工具)
2、软件开发环境的组成
基本组成由:工具集、交互系统、环境数据库
3、软件开发环境的四个组成
宿主层:包括宿主硬件和操作系统
核心层:包括工具组,系统界面和环境数据库
基本层:包括最少限度的一组工具,如编辑、编译调试等
应用层:以特定的基本层为基础,但可以包括一些补充工具
4、软件开发模型和开发方法分类
软件开发模型:
瀑布模型(通过设计一系列阶段顺序,每个阶段都会产生循环反馈)
螺旋模型(在瀑布模型的每一个阶段之前引入一个风险识别分析和控制)
喷泉模型(没有明显界限,可以同步进行提高开发效率,不利于项目管理要求严格的文档)
软件开发方法:
结构化方法(组织稳定业务规范,一定时间不会发生太大改变)
面向对象方法(强调从客观事物出发,更准确反应问题域)
快速原型方法(用户需求不清楚,业务不稳定,规模小不复杂)
5、软件工具
软件工具是指为支持计算机软件的开发、维护、模拟、移植或管理而研制的程序系统,所以软件工具是一个程序系统
Reifer和Trattner将软件工具分为6类:模拟工具、 开发工具、测试和评估工具、运行和维护工具、性能测量工具和程序设计支持工具。
计算机辅助软件工程CASE(Computer-Aided Software Engineering)
是一组工具和方法的集合,可以辅助软件开发生命周期各个阶段进行软件开发
常见的CASE工具类型
画图工具、屏幕显示和报告生成工具、数据字典、规格说明检查工具、代码生成工具、文档自动生成工具
6、软件开发模式
集中式计算模式(计算所有需要的数据和程序都是集中在一台计算机上进行的)
优势:数据储存管理方便安全、计算能力和数据储存能力强、系统维护管理费用低
劣势:大型机初始投资大,可移植性差,资源利用率低、网络负载大
客户/服务器(C/S)计算模式(前端是客户机微型计算机,后端是服务器)
优势:充分利用两端硬件环境优势,通过异种平台集成协调各种IT基础结构,安全稳定速度快可脱机操作
缺点:客户端需要安装大量应用程序,安装调试维护升级成本任务量大,主要业务逻辑在客户端增加安全隐患,开发成本高移植困难
浏览器/服务器(B/S)模式(用户界面主要通过浏览器来实现,主要事物逻辑在服务器)
优势:单一的访问点可以随时访问方便快捷高效,可以跨平台,升级维护简单,成本低
劣势:服务器负荷重,受HTML限制了数据展示效果用户体验差,无法脱机应用需要稳定的网络和服务器正常运行
胖客户端与瘦客户端模式(传统CS模式与BS模式)
富客户端模式(结合了胖客户端和瘦客户端的优势克服其固有劣势)富因特网应用程序
安全可升级,具有良好适应性的面向服务模型
丰富的用户界面,丰富的数据模型
chapter2 开发技术概述
1、Internet和Intranet
因特网是一个把世界范围内的众多计算机等链接在一起的,通过一个共同的协议(TPC/IP)相互绘画的网络
因特网主要技术:采用公共语言,通过路由器将不同网络互连,应用DNS域名解析系统完成计算机和用户之间的地址解析工作,建立在TCP IP协议之上的www浏览服务
内联网,也称企业网,使用Internet技术和标准组建的企业内部计算机网络
2、IP与域名
IP对网络上的主机进行标识,分为数字形式和域名形式(IPv4 4个字节,IPv6 16个字节)
域名DNS该系统由许多个域组成,每个域下又细分更多的域,自上而下分别是根域、顶级域名、二级域名,最后是主机名
3、Web与Web结构
伯纳斯李万维网World Wide Web是一个由许多互相链接的超文本文档组成的系统,有一个全局URI标识,通过HTTP传输给用户
三个要素:统一资源定位器URI,资源访问方式HTTP,超链接
4、Web访问数据库与Web访问数据库技术
数据库技术,数据库,数据库系统(由数据库,数据库管理系统,应用系统,数据库管理员和用户组成)
特点:客户端统一的界面,统一的开发标准HTML,跨平台运行
访问的工作过程:提供中间件连接Web服务器和数据库服务器(HTML)
ADO.NET(在NET编程环境中优先使用的数据访问接口)
PHP(提供多种数据库直接互联的能力,还支持ODBC)
JDBC(由一组java类和接口组成,提供了访问各种数据库的统一API)
5、Web开发技术
静态页面技术(HTTP服务器,只能显示文字信息)
- 优势:技术简单,服务器运行快
- 劣势:内容固定无法提供动态内容
动态页面技术(互联网和Web技术结合,加入了程序和逻辑,在网络的客户端和服务端实现了动态和个性化的交流,动态页面)
- 通过动态网页技术(JSP,ASP,PHP)生成HTML文件,浏览器通过AJAX方式申请数据,通过JavaScript修改当前HTML文件
Web服务器(将各种服务器资源转换成HTML文档)
Web浏览器(负责HTML文档的各种用户交互)
6、HTML概念和结构
超文本标记语言,Web客户端信息展现最有效的载体之一,用于描述网页文档的标记语言。
HTML结构:分为文件头和文件体两部分
特点:格式化的语言,文档=控制标记+显示内容,简易型,可拓展性,与平台无关
7、URL概念和结构
统一资源管理器用于对网络资源进行标识
8、DHTML的概念
不是语言,是HTML 4.0,CSS,CSSL,HTML DOM技术、标准或规范的一种集成
9、CSS基本概念和语法
层叠样式表,用来控制HTMl标签样式,美化作用,用于定义HTMl内容在浏览器的显示样式
10、JavaScript基本概念
是一种脚本语言,可以用来创建动态更新的内容,控制多媒体,制作图像动画
LAMP=Linux+Apache+MySQL+PHP
chapter3 JSP简介
1、J2EE基本概念和组成
J2EE是由java编写,封装了特定功能的软件单元,简化和规范开发和部署,提高可移植性安全与重用价值
与java类区别:被装配在一个J2EE程序中,具有固定格式并遵守J2EE规范,由J2EE服务器对其管理
组成:
客户层组件(J2SE和applet运行在客户端的组件)
表示层组件(java servlet和java server pages是运行在服务器端的Web组件)
业务层组件(EJB服务器端)
2、Web服务器基本常识
Web服务器驻留于因特网上某种类型计算机的程序,可以向Web浏览器等Web客户端应用程序提供文档
Web服务器提供文档,Web浏览器显示和操作文档
3、Tomcat基本常识
Apache HTTP Server用c语言实现的Web服务器,本身只支持HTML(可以通过插件扩展)
Tomcat是拓展Apache而来,支持Servlet和JSP规范,技术先进稳定免费,受到java爱好者的喜爱
4、JSP基本概念和运行原理
- JSP是用java编写web应用程序的技术规范,建立在Servlet规范之上
在静态HTML页面中加入java程序片和JSP标识就构成JSP页面文件,拓展名.jsp
JSP页面=java+HTML
JSP文件被JSP容器自动转换为Servlet类,然后加载运行
JSP和Servlet的关系:JSP以Servlet为基础,是Servlet的一个成功应用,但不是其全部
- JSP运行原理
当服务器上的一个JSP页面被第一次请求执行时,服务器上的JSP引擎首先将JSP页面文件转译成一个java文件,并编译这个java文件生成字节码文件,然后执行字节码文件响应客户请求
把JSP页面中的HTML标记符号(页面的静态部分)交给客户的浏览器负责显示
负责处理JSP标记,并将有关的处理结果发送到客户的浏览器
执行“<%”和“%>”之间的java程序片(JSP页面中的动态部分),并把执行结果交给客户的浏览器显示。
5、Java Web应用程序的目录结构
chapter4 JSP语法
1、JSP组成
JSP传统语法
JSTL,JSP标准标签库,实现Web应用程序中常见的通用功能的指定标记库集
JSF,提供标准的编程接口、丰富可拓展的UI组件库
JSP页面5元素:普通的HTML标记符,JSP标记,变量和方法的声明,程序片,表达式
2、JSP指令特点和常用指令
Directive指令:将JSP转换成Servlet过程中的执行的操作,说明JSP如果被转换成相应的Servlet
格式<%@指令名 属性=“属性值” %>
常用指令page,include,declaration,taglib
-
page
language属性:定义JSP页面使用的脚本语言
pageEncoding属性:JSP页面的字符编码
import属性:引用的java类
session属性:是否使用session对象
errorPage属性:指定处理异常事件的JSP文件
buffer属性:指定输出缓冲区的大小或不使用缓冲区, buffer属性的默认值是8kb
autoFlush 属性:指定输出缓冲区被填满时,缓冲区是否自动刷新。
isThreadSafe属性:设置JSP页面是否可多线程访问,默认值是true。
info属性:描述JSP的字符串
<%@ page info= “we are students” %>
可以在JSP页面中使用方法:getServletInfo()获取info属性的属性值。
-
include指令
可以吧复杂的JSP页面分成若干简单的部分,当要对页面更改时只需改变对应部分 -
taglib指令
引入JSP页面中需要使用的标签库,只有在页面中引入标签库后才能使用标签库中的标签
3、JSP脚本
程序片Scriptlet,在JSP页面任意位置放入任何的java程序代码,这些程序代码直接拷贝到-jspService方法的对应位置<% %>
声明Declaration,声明JSP页面对应的Servlet类的成员变量或方法<%! %>
成员变量生命周期=生成Servlet类的生命周期
表达式<%= %>等价<% out.write(表达式); %>
有返回值,在生成-jspService方法中语法正确
4、JSP注释
JSP注释:转换成Servlet过程中消失 隐藏注释写在JSP程序中 <%-- 注释 --%>
JAVA注释:翻译后的Servlet可见,转换成字节码消失 <% //注释 %>
HTML注释:发送到客户的html网页中,其语法格式如下: < !-- 注释 -->(!前多了一个空格)
5、JSP动作特点和常用动作
在JSP运行期间的命令
(JSP 指令在翻译阶段执行,从而设置整个 JSP 页面的属性。JSP 页面被执行时首先进入翻译阶段,程序会先查找页面中的 JSP 指令,并将它们转换成 Servlet。所以,JSP 指令是在页面转换时期被编译执行的,且编译一次。
JSP 动作在请求处理阶段执行,它们只有执行时才实现自己的功能。通常用户每请求一次,动作标识就会执行一次。)
常见的JSP动作
-
jsp:include用于动态包含JSP程序或HTMl文件,只有执行到它包含其的JSP才会被翻译成相应的Servlet代码
-
jsp:forward停止当前页面的执行,转向page所指向的JSP程序或者Servlet中处理的URL
发生forward的页面和forward到的页面对应相同的客户端请求 -
jsp:param设定相应文件时的参数名和参数值
-
jsp:useBean是一种java语言实现的可重用的组件,支持在不同的环境中重用,是J2EE的核心
其核心是内省,内省就是分析bean确定bean的功能,也是Java Bean API的本质特征
(1)通过简单的命名规则支持内省
(2)通过附加类支持内省
优势:跨平台,易编写维护使用,实现代码的重复使用,易于持久化(加载和保存) -
jsp:setProperty、jsp:getProperty
-
jsp:plugin
嵌入applet
chapter5 JSP内置对象
1、内置对象概念和特点
内置对象(隐藏对象)JSP编程中不需要初始化对象直接可以使用的对象
为什么可以直接使用?JSP内置对象对应Servlet类的成员变量、方法参数与局部变量
2、JSP的九大内置对象
- 输入输出对象
- request对象(获取用户提交信息)
- response对象(设置HTTP消息头、添加cookie、设置响应内容的类型和状态、发送HTTP重定向和编码URL)
- out对象
- 内置容器对象
- session对象
- application对象
- pageContext对象
- Servlet对象
- config对象
- page对象
- 错误对象
- exception对象
3、request对象的常用方法
-jspService方法的方法参数,类型HTTPServletRequest接口
- 字符流方法
String getParameter(String paraName):获取用户的请求参数,根据给定的参数名称(元素name属性)返回参数值 String[] getParameterValues(String paraName):返回用户的请求数组,根据给定的参数名称(元素name属性)返回参数值数组
void setCharacterEncoding(String encodeMethod):设置Servlet接受数据的字符编码方式
String getCharacterEncoding(): 返回Servlet接受数据的字符编码 - 字节流方法
InputStream getInputStream():返回以二进制方式直接读取客户请求数据的输入流(例如用户上传文件). - 获取/设置Request参数
public void setAttribute(String paramName,Object paramValue):存取特定的参数值到当前Web容器(参数生命周期:当前HTTP请求)
Object getAttribute(String paraName):从当前Web容器读取特定的参数值,根据参数给定的属性名返回属性值(参数生命周期:当前HTTP请求) - 用户请求的相关信息方法
String getRemoteAddr():返回远程客户主机的IP地址
String getRemoteHost():返回远程客户主机名 int getRemotePort():返回远程客户主机的端口 String getContextPath():得到web应用程序上下文,或者叫虚拟路径
4、response对象的常用方法
-jspService方法的方法参数,类型HTTPServletResponse接口
- 字符流方法
PrintWriter getWriter():返回可以向客户端发送字符数据的PrintWriter对象,以字符流形式响应用户请求
void setCharacterEncoding(String encodeMethod):设置Servlet发送的响应数据的字符编码方式
String getCharacterEncoding(): 返回Servlet发送的响应数据的字符编码 - 字节流方法
InputStream getOutputStream():返回可以向客户端发送二进制数据的输出流对象ServletOutputStream,以字节流形式响应用户请求 - 浏览器相关方法
addCookie(Cookie cookie):添加一个Cookie对象,用于在客户端保存特定的信息
sendRedirect(String url):重定向用户请求,通过客户端(浏览器)发起一个新的请求,不同的request对象
- 返回文档类型
void setContentType(String str):设置Servlet发送的响应数据的MIME类型
setContentType方法动态改变了contentType的属性值,JSP引擎就会按着设定的MIME类型将JSP页面的输出结果返回给用户
String getContentType ():返回Servlet发送的响应数据的MIME类型 - 新增或者替换HTTP响应的头部信息
addHeader(String name,String value):添加HTTP头信息,该Header信息将发送到客户端
setHeader(String name,String value):替换Header信息发送到客户端
containsHeader(String name):判断指定名字的HTTP文件头信息是否存在 - 状态行
setStatus(int):设置返回状态码, 3位数字的状态码:
1yy,实验性质;
2yy,表示请求成功,如200;
3yy,表示请求满足前应采取进一步行动;
4yy,表示无法满足请求,如404,请求页面不存在;
5yy,表示表服务器出现问题,如505,服务器内部发生问题。
sendError(int):向客户端发送错误的信息
5、out对象的常用方法
_jspService方法申明的局部变量,类型是JspWriter类,字符输出流对象
write(各种数据类型变量) :输出字符串
print(各种数据类型变量) :输出字符串
println(各种数据类型变量):输出字符串+换行
newLine():输出一个换行符
close():关闭输出流
6、session对象的常用方法
在用户访问服务器的时候用来记住用户及其有关的信息,为客户提供个性化服务
Session指用户在浏览某个网站时,从进入网站到结束访问所经过的这段时间,生命周期是用户浏览这个网站的一次过程。
典型应用
-jspService方法的局部变量
public void setAttribute(String name,Object value):将键值对(name,value)放入session对象(容器)
public Object getAttribute(String name):根据变量名称name从session对象(容器)取得变量值
public void removeAttribute(String name):从session对象(容器)中删除name属性
public void invalidate():使会话失效,同时删除属性对象
public int getMaxInactiveInterval():返回在会话期间内客户请求间隔的最长时间为秒
public void setMaxInactiveInterval(int seconds):设置允许客户客户请求间隔的最长时间(当前Servlet的会话超时设置)
7、application的常用方法
提供应用程序在服务器中运行时的一些全局信息,支持持久化Web应用程序全局变量,提供对javax.servlet.ServletContext对象的访问
Object getAttribute(String key):通过关键字key返回用户存储在application对象中的信息;
void setAttribute(String key, Object obj):保存一个对象信息,并指定给一个关键字;
void removeAttribute(String key):通过关键字来删除一个对象信息;
String getRealPath(String path):返回虚拟路径(path)的真实物理路径
8、JSP容器
page容器
与page对象无关,只能通过pageContext调用。
生命周期:当前页面开始,当前页面结束。
request容器
作用域:依附于request对象存在,request对象当敲回车的时候创建,当服务器响应时释放。
session容器
生命周期:当前浏览器。在最大时间内。
application容器
生命周期:服务器开启,到服务器关闭。
总结:
page域:当前jsp页面范围
request域:一次请求
session域:一次会话
application域:整个web应用
chapter6 JSP和JavaBean
1、JavaBean简介
JavaBean是一种Java语言实现的可重用组件,支持在不同环境中重用,是J2EE技术的核心
JavaBean技术的核心是内省
2、JavaBean的基本语法
通过getter/setter方法来读/写变量的值,并且将对应的变量首字母改成大写
对于boolean变量的值,允许使用is替代上面方法中的get和set
必须要有一个不带参数的构造器,在创建Bean时创建者(容器)可以自动调用空构造器
3、JSP如何使用JavaBean
使用JavaBean,使用JSP动作标记useBean
useBean标记的语法格式:(id后面有无空格)
<jsp:useBean id=“bean的名字” class=“创建beans的字节码” scope=“bean有效范围”/>
<jsp:useBean id= “bean的名字” class=“创建beans的类” scope= “bean有效范围”>
</jsp:useBean>
id :Bean对象标识(变量名称)
class: Bean类名称(全名,包含包名)
scope:Bean作用范围,默认page,当前jsp页面有效
page: 能在当前JSP文件和所有静态包含文件中使用Bean,直到页面执行完毕向客户端发回响应或转到另一个文件
例如:
<jsp:useBean id=“circle” class=“tom.jiafei.Circle” scope=“page” />
getProperty动作标记可以获得bean的属性值,并将这个值用串的形式发送给用户的浏览器。
setProperty动作标记可以设置bean的属性值,使用这个标记之前,必须使用useBean标记申明一个相应的bean。
4、JavaBean的生命周期
分为page,request,session,application
chapter7 Servlet
1、Servlet简介
是SUN制定的用Java开发Web应用程序的规范、技术和标准
在Web端运行生成HTML文档
是JavaWeb的技术的核心基础
2、Servlet的生命周期及其重要方法
Servlet生命周期
3、Web应用程序的生命周期
启动,运行,销毁
启动
1、把web.xm 文件加载到内存中;
2、创建一个ServletContext对象,将上下文参数(context-param)转化为键-值对,放入ServletContext对象;
3、所有监听器(listener)进行初始化;
4、所有过滤器(filter)进行初始化;
5、对那些需要在启动时初始化的servlet初始化。
加载顺序:context-param->listener->filter->servlet
销毁
1.销毁所有处于运行状态的servlet
2.销毁所有处于运行状态的过滤器
3.销毁与web应用相关的对象,如=servletContext,释放应用程序占用的资源。
4、创建Servlet的基本步骤
5、web.xml
web.xml 是java web 项目的一个重要的配置文件,但是web.xml文件并不是Java web工程必须的。
web.xml文件是用来配置:欢迎页、servlet、filter等的。当你的web工程没用到这些时,你可以不用web.xml文件来配置你的web工程。
chapter8 JSP中的MVC模式
1、MVC简介
Model-View-Control
模型层:访问各种数据源,定义业务对象和业务逻辑
视图层:显示业务对象,与用户进行交互
控制层:接收视图层请求,访问模型层,返回视图层业务对象视图
2、基于Servlet的MVC
在JSP 技术中
视图是一个或多个JSP页面,其作用主要是向控制器提交必要的数据和为模型提供数据显示;
模型是一个或多个JavaBean对象,用于存储数据;
控制器是一个或多个servlet对象,根据视图提交的要求进行数据处理操作,并将有关的结果存储到Javabean中,然后servlet使用重定向或转发方式请求视图中的某个JSP页面更新显示。
在MVC模式中,模型也可以由控制器负责创建和初始化
chapter9 JDBC
1、数据库和关系数据库的概念
DBMS 是 Data Base Management System) 的缩写。
DBMS 是管理数据库软件的集合。
DBMS 包含面向用户接口功能和面向系统维护功能。
DBMS的结构,两层结构Client/Server结构
客户端发送数据操作请求到数据库服务端
服务端将结果返回客户端软件
两层之间使用的语言是SQL
DBMS和数据库之间的关系
数据库是“按照数据结构来组织、存储和管理数据的仓库”
关系型数据库
关系型数据库是基于E.F. Codd教授发明的关系型数学模型组织数据的数据库;
关系型数据库中所有的数据都是有表的形式来组织的,而表又是有列和行组成的。
2、常用SQL
(1) 增:
sql=“insert into 数据表(字段1,字段2,字段3…) values(值1,值2,值3…) "
(2) 删:
sql=” delete from 数据表 where 条件表达式"
(3) 改:
sql=“update 数据表 set 字段名=字段值 where 条件表达式”
(4) 查:
sql=“select * from 数据表 where 字段名=字段值 orderby 字段名”
3、JDBC简介和架构
JDBC(Java DataBase Connectivity)提供了访问数据库的API,即由一些Java类和接口组成,是Java运行平台的核心类库中的一部分。在JSP中可以使用JDBC实现对数据库中表的记录的查询、修改和删除等操作。
4、JDBC接口的重要方法(参数与返回值)
5、简单的CRUD程序
Create,Retrieve(Read),Update,Delete
Statement对象向数据库发送SQL语句,通过这个对象向数据库发送增删改查语句。
方法1:通过可更新ResultSet对象进行新增、查询、更新、删除(不熟悉SQL,不推荐);
方法2:直接定义更新SQL语句,利用executeUpdate和executeQuery方法(推荐)。
6、JDBC-ODBC桥接器
JDBC-ODBC桥接器,而和数据库的连接由ODBC完成。 这种方法通过建立ODBC数据源而不是直接连接数据库的方式屏蔽了不同数据库的异构性,在需要更换数据库系统时,操作非常简单。
chapter10 文件
1、文件类File的重要方法
字节流读写
try (// 1-打开输入流和输出流
InputStream is = new FileInputStream(“source.txt”);
OutputStream os = new FileOutputStream(“dest.txt”)){
// 2-设置字节缓冲区(每次都读一些)
byte[] buffer=new byte[1000];
//3-逐段进行复制
int num=0;
while( ( num=is.read(buffer) )>0 )
os.write(buffer, 0, num);
} catch (IOException e) {
e.printStackTrace();
}
字符流读写
try( FileReader f1 = new FileReader(“source.txt”);
FileWriter f2 = new FileWriter(“dest2.txt”) ){
char[] buffer=new char[1000];
int num=0;
while ( ( num = f1.read(buffer) )>0)
f2.write(buffer, 0, num);
} catch (IOException e) {
e.printStackTrace();
}
2、文件的上传和下载
-
文件上传
-
方案一:使用Servlet3.0实现文件上传
Servlet类使用MultipartConfig标记
通过request对象的getPart(String paramName)方法获得单个文件上传的字节输入流
多文件上传需要在增加HTML文档的input元素的 multiple= ” multiple”,通过request对象getParts() 方法,同时遍历文件就可以了。 -
方案二:使用第三方JSP文件上传组件
方法1: Apache Commons FileUpload和Commons IO
Apache Commons FileUpload使得在你可以在应用和Servlet中容易的加入强大和高性能的文件上传能力
Apache Commons IO是一个非常有用的IO工具包,解决各种IO常见问题.
方法2:jspSmartUpload,由www.jspsmart.com网站开发的一个可免费使用的全功能的文件上传下载组件,适于嵌入执行上传下载操作的JSP文件中。
-
-
文件下载
JSP内置对象response调用方法getOutputStream()可以获取一个指向HTTP客户端的输出流,服务器将文件写入这个流,客户端就可以下载这个文件了。
chapter11 XML
1、XML概念和基本组成
XML(eXtensible Markup Language):可扩展的标记语言,可以定义其他语言的语言。
包括一组相关技术
XSL(可扩展样式语言)
Xlink(XML链接语言)
XML Namespace(XML名称空间)
XSD(XML模式定义)
主要目的:使得Internet上的数据相互交流更加方便,让文件的内容更加显而易懂
XML文件特点:
(1)XML把显示内容与显示格式分开。显示内容在XML文件中,显示方式在样式文件CSS或XSL中
(2)不同的样式文件,使相同的数据以不同的方式显示,以利于数据的重用
(3)减少数据的传送量
XML文件的结构:头文件和文件体
- 文件头是XML说明部分,他描述了XML文档、版本号、编码信息和其他一些信息
- 文件体:用来存放XML文件中被应用程序实用的信息
- 注释:在<!..>之间
2、DOM解析器的特点
DOM(Document Object Model,文档对象模型)是W3C制定的一套规范标准,DOM规范的核心是按树型结构处理数据。
DOM解析器按着DOM规范在内存中按树型结构组织数据,DOM解析器通过读入XML文件在内存中建立一个“树”,XML文件的标记、标记的文本内容都会和内存中“树”的某个节点相对应。
一个应用程序可以方便地操作内存中“树”的节点来处理XML文档,获取自己所需要的数据。
3、DOM解析器的重要类和重要方法
4、SAX解析器的特点
SAX(simple API for XML)是一种XML解析的替代方法。
相比于DOM,SAX是一种速度更快,更有效的方法。它逐行扫描文档,一边扫描一边解析。
相比于DOM,SAX可以在解析文档的任意时刻停止解析,但任何事物都有其相反的一面,SAX操作复杂。
5、SAX解析器的重要类和重要方法