1 / 3
文档名称:

归纳黑马程序员javaweb教程:JAXP概述.doc

格式:doc   大小:71KB   页数:3
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

归纳黑马程序员javaweb教程:JAXP概述.doc

上传人:wawasa1234 2021/4/17 文件大小:71 KB

下载得到文件列表

归纳黑马程序员javaweb教程:JAXP概述.doc

相关文档

文档介绍

文档介绍:JAXP概述
1 什么是JAXP
JAXP是由Java提供的,用于隐藏底层解析器的实现。Java要求XML解析器去实现JAXP提供的接口,这样可以让用户使用解析器时不依赖特定的XML解析器。
JAXP本身不是解析器(不是Xerces),也不是解析方式(DOM或SAX),它只是让用户在使用DOM或SAX解析器时不依赖特点的解析器。
当用户使用JAXP提供的方式来解析XML文档时,用户无需编写与特定解析器相关的代码,而是由JAXP通过特定的方式去查找解析器,来解析XML文档。
2 JAXP对DOM的支持
DocumentBuilderFactory factory = ();
DocumentBuilder builder = ();
Document doc = ("src/");
,定义了DOM解析器工厂类DocumentBuilderFactory,用于产生DOM解析器。DocumentBuilderFactory是一个抽象类,它有一个静态方法newInstance(),可以返回一个本类的实例对象。其实该方法返回的是DocumentBuilderFactory类的子类的实例(即工厂实例对象)。那么这个子类又是哪个子类呢?其实这个子类是由XML解析器提供商提供的,不同的厂商提供的工厂类对抽象工厂的实现是不同的。然后由工厂实例创建解析器对象。
那么newInstance()这个方法又是如果找到解析器提供商的工厂类的呢?此方法使用下面有序的查找过程来确定要加载的DocumentBuilderFactory实现类:
一、。如果设置了这个系统属性的值,那么newInstance()方法就以这个属性的值来构造这个工厂的实例。通过下面的方法可以设置这个系统属性值。
(“”, “工厂实现类名字”);
我们不建议大家用上面的方法来硬编码这个系统属性的值,如果这样设置,假如将来需要更换解析器,就必需修改代码。
二、如果你没有设置上面的系统属性,newInstance()方法就会采用下面的途径来查找抽象工厂的实现类。。如果这个文件存在,那么就读取这个文件。我们可以在%JAVA_HOME%\jre\lib\。在这个文件中给出一个键值对。如下所示:
=工厂实现类名字
,而相对应的值也必须设置类路径。
三、如果通过前两种途径下没有找到工厂的实现类,那么就需要使用服务API。这个服务API实际