第一章:
1、使用XML的优点是什么?
①XML可以从HTML中分离数据,即能够在HTML文件之外将数据存储在XML文档中。②XML可用于交换数据。把数据转换为XML格式存储将大大减少交换数据时的复杂性,还可以使用这些数据能被不同的程序读取。
③XML可应用于B2B中。④利用XML可以共享数据。XML数据以纯文本格式存储,使得XML更易读、更便于记录、更便于调试,使不同系统、不同程序之间的数据共享变得更加简单。⑤XML可以充分利用数据。XML是与软件、硬件和应用程序无关的,数据可以被更多的用户、设备所利用,而不仅仅限于基于HTML标准的浏览器。
⑥XML可用于创建新的语言。
2、相对于EDI的结构化信息技术而言,XML的优势有哪些?
①成本低,XML不需要VAN的高额费用,中小企业也负担的起。②定制商业规则,XML允许用户创建自己的商业规则和格式。③容易理解,EDI需要使用翻译软件来得到贸易伙伴的信息格式,而XML通过免费下载的解析器就可以很容易的翻译。④平台独立,XML是跨平台的语言,不管是什么平台,都能进行数据交换。
3、XML与HTML的对比:
对比项XML HTML
可扩展性可扩展,能够定义新的标记元素不可扩展,标记元素都是固定的
侧重点侧重于结构化的描述数据侧重于如何显示数据
语法语法严格,要求标记嵌套、配对和
遵循DTD树形结构不要求标记的嵌套、配对等,不要求标记之间具有一定的顺序
可读性结构清晰、易于阅读难于阅读可维护性易于维护难于维护
数据和显示关系数据描述与显示方式相分离,具有
保值性
数据和显示整体合为一体,不具保值
性
4、从以下几个方面定义XML:
①XML是一种类似于HTML的标记语言。②XML是用来描述数据的。③XML的标记不是在XML中预定义的,用户可以自定义标签。④XML使用文档类型定义(DTD)或者模式(Schema)来描述数据。
5、XML文档有两个主要部分组成:序言和文档元素(也叫根元素)。
6、XML文档内容的主体部分一般由:根元素、子元素、属性、注释和内容组成。
7、XML元素包含:其他元素、字符数据、字符引用、实体引用、处理指令、注释或CDATA部分。
8、XML元素的命名规则:
①元素的名字可以包含字母、数字和其他合法字符,且区分大小写。②元素的名字不能以数字或标点符号开头。③元素的名字不能以XML(或者xml、Xml、xMl等)开头。④元素的名字不能包含空格,并且避免使用“-”、“.”、“:”等特殊字符。⑤元素的命名应该遵循简单易读的原则。⑥如果XML文档与数据表对应,应尽量让XML文档中元素的命名和数据库中字段的命名保持一致,这样可以方便数据变换。⑦非英文字符、字符串也可以作为XML元素的名字,如<姓名>、<年龄>等,但为了得到更好的支持,建议使用英文字母来进行命名。
9、XML文档中一共有四类元素:空元素,仅含文本的元素,仅含子元素的元素,含子元素、文本或混合元素的元素。
10:在XML文档中使用元素时的要求:
①元素必须含有起始标签和结束标签。②在没有内容(空元素)的情况下,建议使用省略写法。③标签名称必须符合XML命名规则。④元素必须正确的嵌套。
11、在XML中使用PI(处理指令)的好处:
①可以作为脚本或服务端包含文件的挂钩。②可以作为扩展模式的机制。③它是一种无须改变DTD认证就可以扩展文档的方法。④在不影响文档结构的情况下,通过在XML文件中嵌入处理指令,将信息以文档的形式传递给应用程序。
12、格式良好的XML文档规则:
①必须有声明语句。②注意大小写。③XML文档有且只有一个根元素。④属性值使用引号。⑤所有的标记必须有相应的结束标记。⑥所有的空标记也必须被关闭。⑦标记必须正确嵌套。⑧处理特殊字符。
13、一个格式良好的XML文档满足的条件:
①语法合乎XML规范。②元素构成一个层次树,只有一个根节点。③除非提供了DTD,否则没有对外部实体的引用。
14、XML处理特殊字符的两种方式:字符引用和实体引用。
15、XML是由SGML扩展来的。
第二章:
1、引入DTD的优势:
①每个XML文件可以携带一个自身格式的描述。②不同组织的人可以使用一个通用DTD交换数据,应用程序可以使用一个标准DTD校验从外部世界接收来的XML数据是否有效。③便于在网络上进行数据的共享和交互。网络上其他用户补充的数据,只需要根据公用的DTD规范来建立即可。
2、DOCTYPE声明的组成部分:关键字、根元素名称、可选的外部标记符、可选的标记声明块。
3、使用外部DTD的好处:他可以方便高效的被多个XML文档所共享,只要写一个DTD文档,就可以被多个XML文档所引用。
4、一个DTD文档包含:元素的定义规则、元素间关系的定义规则、元素可使用的属性、可使用的实体或符号规则。
5、XML按照元素类型可分为五类:ANY类型、EMPTY类型、#PCDATA类型、父元素类型、混合元素类型。
6、正则表达式的元组运算符:
符号意义
?所修饰的元素可以不出现或只出现一次
* 所修饰的元素可以不出现或出现多次
+ 所修饰的元素必须至少出现一次以上
无符号没有符号修饰的元素只能出现一次
()用来给元素分组
| 只能在列出的对象中选择一个
,列出的对象必须按指定顺序出现
7、ATTLIST声明构成部分:ATTLIST关键字、属性修饰的元素名称、零个或多个属性定义。
8、属性取值方式:
取值含义
#REQUIRED 元素的每个实例必须包含该属性
#IMPLIED 元素的实例可以选择性的包含该属性
#FIXED value 固定取值的属性,该属性值不允许被其他值替代
默认值事先定义了默认的属性
9、使用实体的好处:
①减少出错率,文档中多个相同的部分只需要输入一遍即可。②提高维护效率,比如多个文档都包含地址信息的实体,如果需要修改这个地址信息,只需要修改最初定义的实体语句即可。
10、XML定义的两种类型的实体:预定义实体、自定义实体。
11、预定义实体
实体用途
< 通常用来替换字符小于号(<)
> 通常用来替换字符大于号(>)
& 通常用来替换字符(&)
" 可用来替换字符串中的字符双引号(”)
' 可用来替换字符串中的字符单引号(’)
12、在DTD中,元素类型通过ELEMENT标记声明,实体类型通过ENTITY标记声明,属性通过ATTLIST标记声明的。
13、属性类型设置为ID表明该属性的取值唯一,IDREF属性的值指向文档中其他地方声明的ID类型的值。
14、实体是XML引用一个数据项的方法,他通常是文本,也可以是二进制数据。
15、DTD的属性类型有:CDATA、NMTOKEN/NMTOKENS、ID IDREF/IDREFS、枚举类型等。
16、DTD提供了XML文档所包含的元素、属性、实体及相互关系的定义。
17、DTD可以在XML内部定义也可以在外部定义。
18、DTD文件是一个ASCII的文本文件,后缀名为.dtd。
19、外部DTD实例:
1)xml文档:
(关联)
2)dtd文档:
20、内部DTD实例:
AUTHOR CDATA #REQUIRED
EDITOR CDATA #IMPLIED
DATE CDATA #IMPLIED
EDITION CDATA #IMPLIED>
]>
第三章
1、正则表达式常用的符号及含义
2、 在XML 中,命名空间是被统一资源标识符URI 分配或识别的一个虚拟空间
3、Schema 是替代DTD 的模式定义语
言
4、Schema 由导言、不定数量的元素定义和声明组成
5、所有Schema 文档都必须要使用schema 作为其根元素
6、XML Schema 中的数据类型可分为简单类型和复合类型
7、复合类型元素通过complexType 声明,包含其他元素、属性和混合内容 8、常用于定义复合类型的元素有:sequence 、choice 、group 、all 9、XML Schema 中的数据类型可分类:简单类型和复合类型
10、复合元素的type 属性的值必须通过外部引用指定一个复合数据类型
11、Schema 声明的属性是没有顺序的,只能是简单类型,只能包含文本,且没有子属性 12、使用attributeGroup 元素可以把一组属性声明组合在一起,以便定义复合类型时使用 13、include 元素用于包含处于同一个命名空间下的Schema 文件 14、import 元素用于可包含处于不同命名空间下的Schema 文件 15.对于下列XML 文档:
正则表达式常用的符号及含义
字符 描述
\ 降下一个字符标记为一个特殊字符或一个原义字符等。例如,’n ’匹配字符”n ”。”\n ”匹配一个换行符。序列’\\’匹配”\”,而”\(”则匹配”(” ^ 匹配输入字符串的开始位置。如果设置了RegExp 对象的Multiline 属性,^也匹配’\n ’或’\r ’之后的位置
$ 匹配输入字符串的结束位置。如果设置了RegExp 对象的Multiline 属性,$也匹配’\n ’或’\r ’之前的位置 * 匹配前面的子表达式零次或多次。 + 匹配前面的子表达式一次或多次。 ? 匹配前面的子表达式零次或一次。 {n}
n 是一个非负整数。匹配确定的n 次。
{n,} n 是一个非负整数。至少匹配n 次。
{n,m} m 和n 均为非负整数,其中n<=m 。最少匹配n 次且最多匹配m 次。 x|y 匹配x 或y 。
[xyz] 字符集合。匹配所包含的任意一个字符。
[^xyz ]
负值字符集合,匹配未包含的任意字符。
[a-z] 字符范围,匹配制定范围内的任意字符,例如’[a-z]’可以匹配’a ’到’z ’范
围内的任意小写字符 [^a-z ] 负值字符范围,匹配任何不在范围内的任意字符,例如,’[^a-z]’可以匹配任何不在’a ’到’z ’范围内的任意字符 \d 匹配一个数字字符,等价于[0~9] \D
匹配一个非数字字符,等价于[^0~9]
orderID="A002" orderDate="2010-7-22">
16、创建一个Schema,并应用于给定的XML文档。要求如下:
Order元素在XML文档中可以出现多次,但是至少要出现一次。
OrderID值的格式必须是AXXX,其中X为0--9的数字
number的值要在1--999之间
zip元素的内容的格式必须是XXXXXX,其中X为0--9的数字,该元素可选。
phoneno允许如下的组合:11位手机号、3位区号+8位号码、4位区号+8位号码。order.xsd
17、说明使用Schema代替DTD的原因。
①DTD是基于正则表达式的,描述能力有限。②DTD没有数据类型的支持,在大都数应用环境下能力不足。
③DTD的约束定义能力较弱,无法对XML实例文档做出更细致的语义限制。④DTD不够结构化,重用的代价相对较高。⑤DTD并非使用XML作为描述手段,而DTD的构建和访问并没有标准的编程接口,无法使用标准的编程方式进行维护。⑥DTD不支持命名空间。
第四章
1、CSS可以格式化XML文档,能够很好的控制输出的样式,但只能静态控制文档的样式或外观。
2、XSL实际上包含三种语言:XSLT、XPath和XSLF 。
3、从狭义上理解,XSL和XSLT是一样的。
4、XPath可以用于XSLT样式表内来定位XML树中的某个位置。
5、XPath表达式由左至右读取,路径中的各个点由一个前向斜杠(/)分隔。
6、XPath主要有四种数据类型:节点集、布尔类型、数值类型、字符串。
7、XPath中,节点之间的关系有:父、子、同胞、先辈、后代。
8、XPath使用路径表达式在XML文档中选取节点,并可以使用谓语查找某个特定的节点或者包含某个值的节点。
9、如果需要在转换过程中进行运算,可以在XPath表达式中使用数学运算符函数,在XPath表达式中可以使用:常规的算术运算符、关系运算符、逻辑运算符等。
10、XSL文档本身是格式良好的XML文档。
11、XSL模板由两部分组成:匹配模式和执行。
12、在XSLT中,可以使用
13、对于下述XML文档:
14、根据要求编写并在XML文档上应用对应的XSL样式表:
(1)以表格的形式显示XML文档中存储的所有数据。
(2)显示orderID为A002的订单信息。
(3)显示北京的订单信息。
Order.xsl
name | number | city | zip | orderID | orderDate |
---|---|---|---|---|---|
| | | | | |
15、简要描述XSL解析XML文档的过程。
首先是根据XML文档构造源树,然后根据XSL规则将源树转换为结果树,生成结果树后,对其进行解释,格式化为一种适合显示、打印或是播放的格式。
16、XSL处理器负责实现转换过程。
首先,XML文档被解析成DOM树存放在内存中,接着对文档进行分析,每一个DOM树中的结点都会与一个模板相比较,当二者匹配时,就会按照模板中定义的规则进行转换,否则继续往下匹配。如此循环,直到整个文档处理完毕。
第五章
1、XML DOM是XML Document Object Model 的缩写,即XML文档对象模型,定义了访问和处理XML文档的标准方法。
2、用DOM处理XML的优越性:
①DOM能够保证XML文档的语法正确和格式正规②DOM能够从语法中提取内容③DOM能够简化内部文档操作④DOM能够贴切地反映典型的层次数据库和关系数据库的结构。
3、在DOM中,一般将XML逻辑结构秒数成树。DOM树结构中,XML标记(和它的值)看做是一个(Node)对象。节点对象是DOM树的基本对象,XML中共用了12种结点类型,常见的结点类型有文档、元素、属性、文本、注释5种。
4、
(元素结点)(文本结点)(注释结点)(属性结点)
-----(结点属性关系) —(父子结点关系)
5、(1)文档:XML树中所有节点的容器,也成为文档根。Document接口指定DOM树的顶部结点,并且包含完整的文档(XML或HTML)。Document接口继承自Node接口。
(2)元素 :XML的基本构件,可以包含其他元素、文本结点或两者的组合用来作为其子结点。
(3)文本:该接口(Text)表示元素或属性值的文本内容(XML中的字符数据),它可以包含信息也可以是空白,Text结点没有子结点。
(4)属性:Attribute对象表示文档中一个元素的属性。
(5)结点:Node接口是DOM树的重心,Node对象构成了DOM树的核心结构。DOM数据类型:Document、Element、Text和Attribute,在DOM树中都可表示为结点。都是继承自Node接口。
(6)NodeList:表示一个结点对象的集合。
6、XML最主要的两种解析方式:
①由W3C制定的DOM方式:DOM是文档驱动的解析方式,解析器会读取整个XML文档,然后在内存中构造一颗完整的DOM树,方便操作树中的任意结点。当处理大型文档时会占用大量内存,并且加载速度和处理性能下降明显。②由David Megginson领导的SAX方式:事件驱动的解析方式,当解析器发现元素开始或元素结束、文本、文档开始或结束等标记时,会触发相应的事件,开发者可以通过编写响应这些事件的代码来保存数据。
7、解析XML的API种类:
①W3C DOM:规范了以DOM方式操作XML文档的方法,W3C DOM API所在的包是org.w3c.dom ②SAX:也是访问XML文档的接口,不是W3C的推荐标准,几乎所有的XML解析器都会支持它,用起来不像DOM那么直观。SAX API所在的包是org.xml.sax ③JAXP:java解析XML应用接口。没有重新定义DOM和SAX,而是提供一种机制可以通过即插即用接口在java应用程序中访问解析器。④JDOM:开源的XML解析类库,提供了一种基于Java的特定文档对象模型,不符合W3C DOM和JAXP规范,简化了与XML的交互,比使用DOM 速度更快。⑤DOM4J:开源的XML解析类库,提供了一种基于Java的特定文档对象模型,也提供了对W3C DOM、SAX、JAXP的支持。DOM4J API所在的包是org.dom4j。
8、JAXP接口包含的三个包:org.w3c.dom、org.xml.sax、javax.xml.parsers(解析器工厂工具,以供程序员获得并配置特殊的语法分析器)
9、常用的DOM接口有:DoucumentBuilderFactory、DoucumentBuilder、Doucument、
Node、NodeList、Element、Attr等。
10、DOM应用:遍历XML、创建XML、修改XML。
11、DOM解析器属性,以dnf作为文档构建器实例,介绍配置解析器时常用的属性、功能和设置方法:
①Coalesce:指定解析器是否把字符数据(CDATA)转换成Text结点,属性值为true时,解析器会把每个CDATA结点都转换成Text结点,并将其添加到相邻的文本结点dbf.setCoalescing(true); ②ExpandEntityReferences:指定解析器是否展开实体引用结点,true时,解析器将展开实体引用结点dbf.setExpandEntityReferences(true);③IgnoreComments:指定解析器是否忽略XML文档中的注释,为true 时,忽略文档中的注释 dbf.set IgnoreComments(true);④IgnoreElementContentWhitespace:指定解析器在处理XML文档时,是否忽略其中的无意义空格(文档空白),为true时,删去可忽略的空白dbf.set IgnoreElementContentWhitespace(true);⑤NamespaceAware:是否需要理解命名空间,true时支持XML中的命名空间 dbf,setNamespaceAware(true);⑥Validate:是否需要对其进行验证dbf,setValidating(true)。
12、DoucumentBuilderFactory类、DoucumentBuilder类是非线程安全的,开发者应确保该类同一实例不被多个线程同时使用。
13、通过设置DoucumentBuilderFactory实例的属性,可用于配置解析器,用于控制对XML文件的解析粒度。
14、请描述常见的基于Java的XML解析器及其各自的特点(最少描述三个)。
①JAXP:轻量级的包装器API即JAXP,Java API for XML Parsing java解析XML应用接口。支持使用SAX、XSLT和DOM的XML处理,并为SAX和DOM API提供一致性,没有重新定义DOM和SAX,而是提供一种机制可以通过即插即用接口在java应用程序中访问解析器。②JDOM:开源的XML解析类库,提供了一种基于Java的特定文档对象模型,不符合W3C DOM和JAXP规范,简化了与XML的交互,比使用DOM 速度更快。
③DOM4J:开源的XML解析类库,提供了一种基于Java的特定文档对象模型,也提供了对W3C DOM、SAX、JAXP 的支持。还提供了许多超出基本XML文档表示的功能,大量使用接口和抽象类,并集中引入了Collections 类,使操作的灵活性非常高。
第六章
1、SAX是Simple API for XML的缩写。SAX不是W3C的推荐标准,是开源的产物。SAX是基于事件驱动的、轻量型的XML处理方法,SAX基于流式处理,不需要读入整个文档,而是边解析边处理。
2、DOM和SAX其实都是与语言无关的,并非Java所独有,只要有相应的语言实现,DOM和SAX可以应用在任何面向对象的语言中。
3、SAX中的事件:
①startDocument事件:表明SAX解析器发现了文档的开始。②endDocument事件:表明SAX解析器发现了XML文档的结尾。③startElement事件:表明SAX解析器发现了XML文件中一个元素的起始标签。④characters事件:表明SAX解析器发现了XML文档中一个元素的文本信息。⑤startElement事件:表明SAX 解析器发现了XML文件中一个元素的结束标签。
4、SAX的API中最重要的组成部分的接口XMLReader和类DefaultHandler。
5、SAXParserFactery类是SAX解析器工厂类,开发者通过该工厂类实例来获得一个具体的解析器对象(SAXParser)。
6、DefaultHandler是SAX事件的核心处理类,该类实现了四个核心SAX2处理程器接口。是SAX事件的回调处理类。
7、ErrorHandler接口是SAX的错误处理接口。
8、SAX中,开发者可以通过实现XMLFilter接口进行解析过滤,并可通过多个过滤器类相互“封装”形成过滤器链。XMLFilter有两个方法:setParent(XML Reader parent):设置父XMLReader,该方法让应用程序将这个过滤器连接到它的父XMLReader(也可能是另一个过滤器)。 XMLReader getParent():获取父XMLReader,该方法用应用程序可以查询父XMLReader(也可能是另一个过滤器)。
9、JDOM是一个开源的、专为Java语言提供XML解析功能的项目。继承了DOM和SAX处理的特点,并不是一个简单地替代品。常用类包括SAXBuilder、DOMBuilder、Document、XMLOutputter、Element、Attribute 等。不是JDK中自带的包,需要单独下载,并添加到类路径中才能使用。
10、请描述使用DOM、SAX处理XML的区别。
①DOM:规范了以DOM方式操作XML文档的方法②SAX:也是访问XML文档的接口,不是W3C的推荐标准,几乎所有的XML解析器都会支持它,用起来不像DOM那么直观。
11、SAX、DOM、JDOM技术的优缺点比较。
名称优点缺点适用场合
SAX 1.无需将整个文档加载到
内存,所以内存消耗少
2.腿模型允许注册多个
ContentHandler 1.没有内置的文档导航支持
2.不能随机访问XML文档
3.不支持在原地修改XML
4.不支持名字空间作用域
适用于只从XML文档读取
数据的应用程序(不可用
于操作和修改XML文档)
DOM 1.易于使用
2.丰富的ASI集合,可用
于轻松的导航
3.整棵树加载到内存,允
许对XML文档进行随机
访问1.整个XML文档必须一次性解
析完
2.整棵树加载到内存中成本较
高
3.一般的DOM结点对于必须为
所有结点创将对象的对象类
型绑定不太理想
适用于需要修改的XML文
档的应用程序或XSLT应
用程序(不可用于只读
XML应用程序)
JDOM 1.基于树的处理XML的
Java API,把树加载在
内存中
2.没有向下兼容的限制,
因此比DOM简单
3.速度快,缺陷少
4.具有SAX的Java规则1.不能处理大于内存的文档
2.DOM表示XML文档逻辑模型,
不能保证每个字节真正变换
3.针对实例文档不提供DTD与
模式的任何实际模型
4.不支持与DOM中相应遍历包
适用于既具有树的遍历,
也有SAX的Java规则,
在需要平衡时使用
第七章
1.Web Services应用程序的特征:封装性;松散耦合;使用标准协议规范;高度可集成性;易构建。
2.简要描述Web Services的主要技术及各种技术的作用:
①XML 。XML是Web Services平台中表示数据的基本格式,采用自描述的数据结构,能够以简单的文本文档格式存储传输读取数据。XML是Web Services标准的基础,也是Web Services模型的核心。②SOAP。简单对象访问协议,利用SOAP可以在两个或多个对等实体之间进行信息交换,并可以使这些实体在分散的分布式应用程序中相互通信。③WSDL。用于描述网络服务及其访问信息,用于定义Web Services以及如何调用它们④UDDI。它提供了在Web上描述并发现商业服务的框架,其核心组件是UDDI商业注册(白页White Page,黄页Yellow Page,绿页Green Page)。
3.什么是SOAP?简要描述SOAP的组成。
(1)SOAP是一种基于XML的协议。是分布式系统之间交换信息的轻量级方法。(2)SOAP是基于XML语言和XSD标准的,其组成:①SOAP信封。②SOAP编码规则。③SOAP RPC表示。④SOAP绑定。
4.实现Web Services的基本步骤
①服务提供方将Web服务创建为基于SOAP协议的服务接口,然后将这些服务部署到服务容器中,以便其他用户调用。②服务提供方使用服务代理注册基于WSDL的服务描述,服务代理方通常是UDDI注册表。③UDDI 注册表将服务描述存储为绑定模板和到服务提供方环境中WSDL的URL。④服务请求方通过查询UDDI注册表找到所需服务并获取绑定信息和URL,已确定服务提供方。⑤服务请求方使用绑定信息激活服务提供器,并检索已注册服务的WSDL服务描述,通过创建客户代理应用程序,建立与服务器间的通信。⑥最后,服务请求方与服务提供方通信,并通过调用服务容器中的服务进行信息交换。
5.Web Services体系结构基于三种逻辑角色:服务提供者,服务注册中心,服务请求者。
6.Web Services体系结构中,角色之间可以单次或反复出现发布,查找,绑定三种操作。
7.最简单的协议栈包括:网络层的HTTP,基于XML的消息传递层的SOAP协议以及服务描述层的WSDL。
8.Web Services开发生命周期分为:构建,部署,运行,管理。
9.Web Services应用在跨防火墙通信,应用程序集成,B2B集成和数据重用等场合中会体现极大的优势。其局限为:单机应用程序,局域网应用程序。
10.在Web Services体系结构中,根据功能要求的不同,可以实现基于消息路由的同步/异步通信模型或基于RPC的异步模型。
11.Web Services(Web服务)是一种分布式的计算技术。
第八章
1.基于点对点连接创建SOAP客户端的步骤(直接连接)
①创建SOAP连接②创建SOAP消息工厂③创建消息④填充消息⑤添加附件⑥发送消息并接收响应⑦关闭连接
2.SOAP的两个目标:简单性,可扩展性
3.JAXM提供两种类型的连接:独立的点对点连接,到消息提供者的连接
4.编写服务器Servlet应用,需扩展JAXMServlet,并实现OnewayListener接口或ReqRespListener接口。
5.SOAP消息包含:Envelope(信封),Header(报头),Body(主体),Fault(错误),attachment(附件),其中Envelope,Body部分必须在SOAPMessage中出现。
6.SOAP=RPC(调用途径)+HTTP(底层通信协议)+XML(数据传送的格式)
7.通过消息提供者发送信息的基本步骤:(间接连接)
①获取用JNDI命名服务注册的提供者连接工厂②使用工厂生成与JAXM提供者的连接③使用连接来生成消息工厂④使用消息工厂来生成消息(指定配置文件)⑤填充消息⑥使用与JAXM提供者的连接来发送消息(异步发送且不需等待响应)
8.javax.xml.soap.SOAPElement接口是JAXM DOM API中的一个关键接口,是JAXM API中大部分SOAP对象的直接超级接口。
9.SOAP应用模式:请求/响应模式,多消息异步响应模式,单向模式,事件通知模式。
10.SOAP消息中间方分为:转发中间方,活动中间方。
11.在JavaEE平台里,开发Web服务,通常使用JAX-RPC,JAXM。
第九章
1. WSDL是专门用来描述Web Service的一种语言;
WSDL文档包含以下8个关键的构成元素:
①
2.WSDL支持以下4种类型操作:
①One-way:单向操作。此类型的操作可以接收消息,但不会返回响应,通常由一个元素定义。②Request-response:请求响应操作。③Solicit-response:征求响应操作。④Notification:通知操作。
3.WSDL规范中定义了3种绑定扩展:
①SOAP绑定;②HTTP GET POST绑定;③MIME绑定。
其中SOAP绑定是最常用的一种方式。
WSDL虽然支持4种操作类型:单向、请求响应、征求响应、通知。
4.UDDI(Universal Description,Discovery and Integration,统一描述、发现和集成)是一种基于Web 的分布式的Web Service信息注册中心的实现规范。UDDI规范的实现方案称为UDDI注册中心。分为公共和私有两种。
5.UDDI注册中心的数据可以分为以下三类:
①百页:企业的基本信息;②黄页:根据企业的业务类别来划分的信息类别;③绿页:体描述企业发布的Web Service的行为和功能等。UDDI注册中心本身也是一个Web Service,用户可以使用UDDI规范中定义的
SOAP API查询注册信息。
6.UDDI数据结构主要包括下列五种元素:①
还有以下两个辅助数据结构:⑥
⑦
7.UDDI内置支持以下三种业务标准分类系统:①NAICS:北美工业分类系统;②UNSPSC:通用标准产品和服务分类;③ISO3166:基于地理位置的标准分类系统。UDDI为
8.①UDDI规范定义了查询和发布两类API,可用于与UDDI注册中心结点进行通信。
②WSDL和UDDI的数据结构具有映射关系。
第10章
1、JAX-RPC与过去的RPC机制之间的区别在于数据交换格式,即JAX-RPC的方法调用参数以及返回值通常以SOAP消息格式传输。
2、JAX-RPC通过执行Java类与XMI数据之间的自动映射,抽取和隐藏SOAP和XML数据类型的复杂性。
3、JAX-RPC规范要求支持大多数的Java原始数据类型及原始数据类型对应的包装类型,此外,对String、Date、Calendar等对象类型提供了支持。
4、JAX-RPC可以将XML数组映射为Java数组。
5、JAX-RPC支持将XML结构和复杂值类型映射为带getter和setter方法的JavaBean。
6、Wscompile主要用来生成在JAX-RPC客户端和服务中使用的stubs、ties、serializers和WSDL文件。
7、Wsdeploy工具读取一个WAR文件和jaxrpc-ri.xml文件,然后产生另外一个可以用来发布的WAR文件。
8、实现基于JAX-RPC的服务有两种方式:使用Java类开发JAX-RPC服务和使用WSDL文档开发JAX-RPC服务。
9、JAX-RPC客户端编程模型主要有三种:占位程序、动态调用和动态代理。
10、简述创建JAX-RPC服务器端的步骤。①定义远程接口(服务定义)。②实现远程接口(服务实现方案)。
③配置服务。④包装和部署服务。
(具体:①.定义远程接口:所涉及的编程规则:远程接口必须扩展java.xml.Remote接口,所有方法必须抛出java.xml.RemoteException异常;远程接口中不能包含任何静态常量的声明;远程接口中的方法的所有参数和返回值为JAX-RPC支持的部分数据类型,否则需要使用自定义的串行器和反串行器进行Java与XML之间的相互映射。②实现远程接口:就是通过自定义类来实现远程接口中定义的所有已发布的方法。③配置服务:要配置服务,需要创建一个XML格式的文件,文件中应提供如下信息:服务名称;包含占位程序和tie 的程序包的名称;生成的WSDL及其XML Scheme的目标命名空间;远程接口及其实现方案的类名称。
04.打包部署。)
11、简述创建JAX-RPC客户端的步骤。
(1)JAX-RPC客户端API(2)JAX-RPC客户端编程模型:①基于动态调用的客户端:01实例化一个没有WSDL的Service类。02实例化一个Call对象代理,并对其进行设置。03调用Call对象的invoke方法。②基于动态代理的客户端:01用WSDL实例化一个Service对象。02实例化一个代理。03调用代理的操作。12、RPC协议建立在某些协议(如TCP或UDP)之上,为通信程序之间携带信息数据,在OSI网络通信模
型中,RPC跨越了传输层和应用层。
13、远程过程调用流程:
首先,调用进程发送一个有进程参数的调用信息到服务进程,然后等待应答信息;在服务器端,进程保持睡眠状态直到调用信息到达为止,当一个调用信息到达,服务器获得进程参数,计算结果,发送答复信息,然后等待下一个调用信息;最后,客户端调用过程接收答复信息,获得进程结果,然后调用执行继续进行。
14、JAX-RPC体系结构由以下重要元素组成:JAX-RPC服务程序;JAX-RPC客户程序;stub和tie;串行化和反串行化;JAX-RPC运行时环境。
15、反串行化和串行化:在基于JAX-RPC的Web服务场景中,调用JAX-RPC服务时,JAX-RPC运行时将基于XML的RPC调用转换为其对应的Java对象表示法,然后使用它们执行所需的服务,该过程称为反串行化。执行该操作之后,服务通过该返回的Java对象转换为基于XML的数据表示法,将调用返回给自己的服务客户端,该过程称为串行化。
16、JAX-RPC的核心类和接口位于包javax.xml.rpc中,而javax.xml.rpc.handler包则提供了运行时核心类和处理SOAP消息的核心类。
17、JWSDP的核心工具是wscompile和wsdeploy,这两个工具是由JAX-RPC标准实现提供的,它们和JWSDP 包一起发布。