需要资源从SCRATCH学习Java Web服务



在过去的几年里,我在Java和C#之间来回奔波,但现在我想跟上Web服务(RESTful)的步伐。大约在2003年,我曾经是J2EE的大师,但从那以后,我对各种各样的东西都有所了解。我已经完成了几个NetBeans教程(我选择的IDE),但它们似乎并没有暴露出本质。我喜欢看看事情是如何运作的,从字节数组开始构建一个应用程序。

尽管我已经接触了一些框架,但我最喜欢的是在添加Spring/HHibernate之前使用JavaEE来理解基本情况。

这有道理吗?我正在寻找一本书或教程,它能真正地一篇接一篇地积累你的知识,让你了解一切,而不是一些类似Rails的快速开发工具包。

提前感谢

Guido

我首先要回顾一下HTTP,因为在实践中,这是REST web服务的一个基本构建块,它可以让你为接下来的事情找到正确的心态。

接下来,考虑如何为各种资源构建URI。马丁·福勒就这个话题写了一篇很好的文章。用于创建web服务的各种java框架试图使您更容易将请求映射到特定方法,甚至更容易将部分请求(包括路径元素、查询参数和整个请求体)直接映射到对象模型中。但所有这些都有助于通过URI识别和操作资源。

接下来,如果您的资源是相关的,那么考虑超媒体控件。你可能已经习惯了在网页中放置<a href="">链接,当然你也不希望人们对你网站中的每个URL进行硬编码或加书签。同样的想法是如何扩展到web服务的?

接下来,考虑在客户端和服务器之间实际移动数据。JSON还是XML?URI元素还是查询参数?同样,存在许多java框架只是为了让这更容易——例如,Jackson和Gson用于REST,JAXB用于XML等——但处理基于HTTP的请求和响应的问题与多年前普通servlet容器解决的问题非常相似。

最后,考虑安全性。例如,用户名/密码还是OAuth?HTTP还是HTTPS?

还有很多其他细节,但这些话题应该会让你忙碌一段时间。

你退房了吗?这是JAX-RS的Java参考实现。这个项目周围有一个很棒的社区,主要作者可以通过邮件列表和论坛获得,并亲自回答了我遇到的一些棘手问题。球衣网站上有很多很棒的链接,可以让你从各种角度开始,这取决于你有兴趣学习什么。

RestifyDayTrader提供了关于如何构建RESTFul服务的非常好的细节。Java实现可以在Restified Trader 上找到

Java Web Services是学习Web Services的好读物。

最新更新