带有 RESTFul Urls 的 Servlet 应用程序

Posted

技术标签:

【中文标题】带有 RESTFul Urls 的 Servlet 应用程序【英文标题】:Servlet application with RESTFul Urls 【发布时间】:2014-02-02 06:41:36 【问题描述】:

我有一个使用旧 servlet 样式方法创建的小型遗留应用程序,其中 它扩展了 HTTPServlet。 URL 与查询参数映射

http://localhost:8080/MyApp/servlet/ReportServlet?id=CA

现在他们希望它被重写并遵循 REST Urls 样式。

http://localhost8080/MyApp/servlet/ReportServlet/id/CA

我不太了解这是如何完成的,所以我想寻求有关如何创建 Web 应用程序的指导 带有 REST 网址。 大多数 servlet 教程都使用注解,但从未提及创建 RESTFUL URL

我已经搜索过,但找不到类似的问题,所以如果这是重复的,请随时关闭此问题,但请 向我指出一个可以教授这一点的资源。 请注意,我不是在研究创建 RESTFul Web 服务,而是在研究如何创建基于会话的 Web 应用程序 使用 HTTPServlet。

我并不热衷于使用任何特定的框架,所以只使用裸 JEE 堆栈。

【问题讨论】:

您是否要保留旧的 servlet 并仅更改 URL 方案?或者您愿意将您的 servlet 重构为 JAX-RS REST 方法吗? 哦,这是个好问题。我不想贪婪,但你能告诉我如何以两种方式完成。我想评估是否应该进行保留或重构,因为我真的不知道这是如何完成的。感谢您提出这个问题。 只需更改 URL 模式就很容易了,只需更改 web.xml 描述符中的映射,然后更新视图中的 URL。另一方面,迁移到完整的 REST 架构需要重写视图层的大部分内容(控制器和视图)。 我认为迁移到完整的 REST 是可以的,但我就是找不到能告诉我这一点的好资源。大多数使用 SPRING MVC,但我有一段时间没有使用过。 【参考方案1】:

看看这个优秀的教程开始吧:REST with Java (JAX-RS) using Jersey

那就看这本书吧:RESTful Java with JAX-RS

它对我开始快速有很大帮助:干净的例子,现实生活中的例子,良好的实践...... 它介绍了 JAX-RS 规范如何深入工作。它还向您展示了一些实现:Jersey、RESTEasy 等。

【讨论】:

【参考方案2】:

如果你想使用 servlet 是 rest 端点看这篇文章http://riddhimajava.blogspot.in/2014/07/how-to-use-servlet-as-rest-end-point.html

【讨论】:

很好的例子。我习惯用servlet和jsp编码,不需要Jersey。【参考方案3】:

我认为这篇博文提供了关于 REST-API 的良好实践和亮点:http://blog.2partsmagic.com/restful-uri-design/

(我阅读了大量文章,我可以发布更多文章,但这很好,因为它与技术无关,我的意思是它不符合 JAX-RS 或实现。我还推荐一些您可以在 slideshare 中找到很酷的演示文稿)。

【讨论】:

以上是关于带有 RESTFul Urls 的 Servlet 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

Servlet 与 RESTful

需要确认我对 Servlet 与 RESTful 网页的区别的理解

是否可以让 <error-page> servlet 忽略某些请求?

Spring restful

001---CBV和restful规范

Flask实现RESTful API