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

标签 java web-services

在过去的几年里,我一直在 Java 和 C# 之间徘徊,但现在想跟上 Web 服务 (RESTful) 的步伐。大约在 2003 年,我曾经是 J2EE 的大师,但从那以后,我开始涉足各种领域。我已经完成了几个 NetBeans 教程(我选择的 IDE),但它们似乎没有揭示细节。我喜欢看事情到底是如何工作的,从字节数组开始构建一个应用程序。

虽然我接触过几个框架,但我最喜欢使用 Java EE 来理解基本情况,然后再添加 Spring/Hibernate 的糖分。

这有意义吗?我正在寻找一本书或教程,它们可以真正一点一点地积累您的知识,以便您了解所有内容,而不是一些用于快速开发的类似 Rails 的工具包。

提前致谢

吉多

最佳答案

我将从回顾 HTTP 开始,因为在实践中这是 REST 网络服务的基本构建 block ,它可以让您对接下来的工作有正确的心态。

接下来,考虑如何构建各种资源的 URI。马丁福勒写道 a good article关于这个话题。用于创建 Web 服务的各种 Java 框架试图让您更轻松地将请求映射到特定方法,甚至将部分请求(包括路径元素、查询参数和整个请求主体)直接映射到您的对象模型中。但所有这些都有助于通过 URI 识别和操作资源。

接下来,如果你的资源是相关的,那就想想hypermedia controls .您可能习惯于输入 <a href="">网页中的链接,您当然不希望人们对您网站中的每个 URL 进行硬编码或添加书签。同样的想法如何扩展到 Web 服务?

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

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

还有很多其他细节,但这些主题应该让您忙一阵子。

关于java - 需要资源来从 SCRATCH 学习 Java Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6499891/

相关文章:

java - 单击按钮时调用 WebService

ASP.NET 和 jQuery AJAX - 奇怪的问题

iphone - 在 iOS 上使用 Web 服务的最佳方式?

java - 从 websphere 8.5.5.2 访问 ssl web 服务

java - 隐藏另一个布局的 float 操作按钮

java - 用有限的值使两个数组和相同

java - 有没有办法从过期的 JWT token 中解析声明?

java - 保护 iphone api web 服务的最安全/最简单的方法

java - 在带有可重新加载菜单的方法中使用扫描仪

java - AutowireCapableBeanFactory : How to initialize primitive properties