【问题标题】:Need Resources to Learn Java Web Services from SCRATCH需要资源从 SCRATCH 学习 Java Web 服务
【发布时间】:2011-06-27 22:55:52
【问题描述】:

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

虽然我接触了几个框架,但我最喜欢使用 Java EE 来了解在添加 Spring/Hibernate 的糖之前的基本情况。

这有意义吗?我正在寻找一本书或教程,真正逐步建立您的知识,以便您了解所有内容,而不是一些类似 Rails 的快速开发工具包。

提前致谢,

圭多

【问题讨论】:

  • 我一直无法在 J2EE REST 方面找到很多书籍。我从 JSR 311 和 Apache CXF 文档(都是 JAX-WS 和 JAX-RS 提供程序)开始,然后开始搜索与 Spring、Spring Security 和 JAXB 的集成(最终在 JAXB 的过程中通过 JSR 222 .)

标签: java web-services


【解决方案1】:

我首先回顾一下 HTTP,因为在实践中这是 REST Web 服务的基本构建块,它可以让您对接下来的事情有正确的心态。

接下来,考虑如何构建各种资源的 URI。 Martin Fowler 就这个话题写了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?

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      RestifyDayTrader 非常详细地介绍了如何构建 RESTFul 服务。 Java 实现可以在Restified Trader找到。

      【讨论】:

        【解决方案4】:

        Java Web Services 是一本关于学习 Web 服务的好书。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-01-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多