Web Services和Servlets的区别

4
我有一整套的业务逻辑和与数据库集成的Java代码。现在我有两个选项:我可以编写一个Restful Web服务来访问它,或者我可以遵循标准的Servlet方法从UI中访问它...这两种方法各有什么优缺点?
3个回答

3
实际上,您试图比较不同的事物。
REST是一种针对Web技术上下文中的分布式系统的架构风格。虽然它不依赖HTTP协议,但后者特别适合实现这些概念。使用HTTP实现RESTful服务意味着我们将利用所有其功能,并将其用于正确的事情上。这些原则可以使用不同的技术和Java中的不同框架来实现。
这个链接可以帮助您了解REST的概念:https://templth.wordpress.com/2014/12/15/designing-a-web-api/
Servlets对应于处理Web应用程序的API和容器。容器负责传输层,并让您专注于处理HTTP请求并创建响应的方式。但您可以自由地使用它们来构建您的应用程序并按照自己的想法使用HTTP。大多数情况下,使用框架在它们的顶部来实现应用程序。如果愿意增加一点额外的工作,甚至可以使用原始Servlets实现RESTful应用程序。
有几个类似的框架,例如:
Restlet(http://restlet.com/projects/restlet-framework/),它允许您在Java中创建和/或使用RESTful服务。它们可以在独立应用程序或Servlet容器中执行。
Spring MVC提供了一个支持配置轻量级容器内Web应用程序的支持,具有依赖注入。该框架还提供REST支持。
希望这可以帮助您, Thierry

0

微服务并不严格依赖于REST,它是一个更深入的概念。你可以有一个带有REST API的单体应用程序。 如果你实现了微服务,你可能会使用REST,因为它是一种轻量级的机制来通信多个服务,但你也可以使用SOAP。 - gabrielgiussi
太好了,确实如此!这就是为什么我建议这篇文章的原因! - Guilherme

0

Web服务将帮助您在两个应用程序之间进行通信,这些应用程序可能具有不同的平台(例如,使用它可以实现Java和.NET之间的通信)。

但是Servlet会将您绑定到与Java平台绑定的一个应用程序内部进行交流。您也可以使用Servlet与两个Java应用程序进行交流,但是您需要更改服务器配置。因此,请理解您的需求并加以使用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接