映射,绑定和解析之间有什么区别?

时间:2012-03-23 16:43:45

标签: java web-services jaxb java-ee-6 jax-rs

我开始在java EE6中学习Web服务。

之前我做过网络开发,但从未与网络服务有任何关系。

对我来说一切都是新手,我在网上找到的书籍和教程都是技术性的。

我开始学习.xsd架构和.xml。

在那个主题中我感到自信,我理解用于什么模式和验证意味着什么。

现在我的下一步是学习JAX-B(用于XML绑定的Java Api)。我骑了一些关于它,我也在我的IDE中做了一些练习。但是我有很多基本的疑惑,这让我感到困惑,并且无法继续下一个话题。

如果有人能够很好地解释我的怀疑,我会非常感激:

  1. 映射是什么意思?什么是映射工具?
  2. 什么是绑定和什么是绑定工具?
  3. 解析什么是解析工具是什么意思?
  4. JAX-B如何与映射,绑定和解析相关?
  5. 我正在寻找一个由你建立的好答案,而不仅仅是谷歌的复制粘贴(我已经上网了几个小时而且只是感到困惑)。

2 个答案:

答案 0 :(得分:10)

根据我的理解......

  

映射是什么意思?什么是映射工具?

对于Java / XML,映射只是表示Java对象模型 进入XML文档表示(反之亦然) 映射工具允许您从一种格式转换为另一种格式。这只是定义步骤。

  

它是什么意思绑定和什么是绑定工具?

绑定是内存中(当应用程序运行时)将XML文档转换为对象represantation的过程。 绑定是通过解组来实现的。

  

解析什么是解析工具是什么意思?

解析是读取输入的数据流并检查数据流是否符合某种语法。当数据无法符合工具检查的语法时,解析工具会消耗数据流并生成错误。它还会生成事件以指示它已从流中收到某些“令牌”。在java / xml场景中,有多种类型的解析器,例如DOM,StAx,SAX ......

  

JAX-B如何与映射,绑定和解析相关?

JAXB映射:

是指使用xjc生成基于XSD的java类层次结构 使用JAXB注释生成类时会发生映射 场景中的映射工具是xjc

JAXB绑定:

当应用程序将XML文档解组为Object represanation时发生 (JAXBElement) unmarshaller.unmarshal( new File("some.xml"));

解析:

为了将XML文档转换为对象represantation,JAXB引擎必须这样做 首先“解析”xml文档以确保正确性,然后标记化以实例化java对象。这是在内部发生的,您无法控制它以确保正确性,然后将其标记为实例化java对象。

答案 1 :(得分:0)

强烈建议您获得Java Web Services Up and Running的副本,并从第1章开始,然后从那里开始。这不容易或直观,为长时间的学习准备做好准备。注意。除非你对所有部分的工作原理有基本的了解,否则所有绑定的东西都会让你感到困惑。