2012-06-30 30 views
0

我不知道“什么”有关使用Java Web服务,最终我需要做一些工作,REST在Java和好,我想strart学习它这weekedn d :)所以我的问题是,我需要先学习Java的网站服务之前,我可以学习REST的Web服务?我需要先学习的知识有哪些先决条件?和你的建议资源。学习RESTful WebServices之前的任何先决条件?

谢谢

+1

我觉得你不需要学习REST Web服务之前,知道很多关于大Web服务。就个人而言,我从阅读Richardson和Ruby的* RESTful Web Services *开始。我认为值得熟悉。 – toniedzwiedz

+0

谢谢汤姆。我有这本书...实际上我有“Java WebServices Up and Running”,也有那本书,但不知道该从哪开始。 – Bohn

+0

@LuiggiMendoza说得很温和,这对Web服务来说并不是一个好的定义。特别是当我们考虑RESTful Web服务时。另外,我怀疑你知道英文中“绝对不能”的意思。无论是或者你对编程语言部分都是错误的。 – toniedzwiedz

回答

2

Java Web服务的东西只与REST服务有很小的关系。

两者都是网络“远程服务”,让他们分享同样的问题:对象表示,安全性,出错处理等

但你并不需要学习WS-的复杂性*像服务定义(WSDL),SOAP ...和一大堆东西。

在Java中REST和WS之间的大小关系,来的时候你想“自动”转换对象,XML或JSON。因为基于JAX-RS爪哇REST框架可以做到这一点,通过使用JAXB(爪哇XML绑定)的对象转换框架在Java WS框架也可使用。但是你也不需要使用那个对象转换的东西。

一些JAX-RS兼容框架,如Apache CXF,也可以用来做JAX-WS(用于WebServices的Java标准API)。但请注意像CXF这样的通用服务框架必须处理其他复杂性(如支持不同的传输),而这些复杂性并不需要学习。

你需要先学习什么?

  • 的Java Servlet的:你不需要是对servlet的专家,但REST服务安装在Java servlet为基础的知识以及关于它将帮助。

  • 依赖注入(DI):当你开始做访问数据库或其他服务的REST资源,你要通过一些合作者对象做到这一点。大多数框架通过使用DI解决了这个问题。例如,大多数JAX-RS框架都可以与Spring或Guice一起使用。

    提示:我发现很多人使用Spring或Guice,因为..教程显示这是正确的方法。但他们不知道正在努力解决什么问题,并以复杂的不可维护的东西结束。我的建议是,在使用任何DI框架之前,先学习它们背后的概念。

  • (可选)JavaScript和AJAX的一点点。如果您打算使用网页中的REST服务,那么很好地了解它们将如何使用。

编辑:要包括提到到Apache CXF,并使用术语JAX-RS,而不是球衣这是一个具体的实现。

+0

至于框架。我认为在这个答案中值得一提JAX-RS的实现。无论是Jersey,RESTEasy,Apache CXF等等。 – toniedzwiedz

+0

是的,这是真的。我也忘记提到像Apache CXF这样的框架可以用来创建Web服务或REST服务。 – Diego

+0

然后如何编辑答案;) – toniedzwiedz