我不知道“什么”有关使用Java Web服务,最终我需要做一些工作,REST在Java和好,我想strart学习它这weekedn d :)所以我的问题是,我需要先学习Java的网站服务之前,我可以学习REST的Web服务?我需要先学习的知识有哪些先决条件?和你的建议资源。学习RESTful WebServices之前的任何先决条件?
谢谢
我不知道“什么”有关使用Java Web服务,最终我需要做一些工作,REST在Java和好,我想strart学习它这weekedn d :)所以我的问题是,我需要先学习Java的网站服务之前,我可以学习REST的Web服务?我需要先学习的知识有哪些先决条件?和你的建议资源。学习RESTful WebServices之前的任何先决条件?
谢谢
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,而不是球衣这是一个具体的实现。
至于框架。我认为在这个答案中值得一提JAX-RS的实现。无论是Jersey,RESTEasy,Apache CXF等等。 – toniedzwiedz
是的,这是真的。我也忘记提到像Apache CXF这样的框架可以用来创建Web服务或REST服务。 – Diego
然后如何编辑答案;) – toniedzwiedz
有理查森书这里的一个很好的总结:http://martinfowler.com/articles/richardsonMaturityModel.html,
非常不错的链接,谢谢。 – Bohn
我觉得你不需要学习REST Web服务之前,知道很多关于大Web服务。就个人而言,我从阅读Richardson和Ruby的* RESTful Web Services *开始。我认为值得熟悉。 – toniedzwiedz
谢谢汤姆。我有这本书...实际上我有“Java WebServices Up and Running”,也有那本书,但不知道该从哪开始。 – Bohn
@LuiggiMendoza说得很温和,这对Web服务来说并不是一个好的定义。特别是当我们考虑RESTful Web服务时。另外,我怀疑你知道英文中“绝对不能”的意思。无论是或者你对编程语言部分都是错误的。 – toniedzwiedz