【发布时间】:2014-07-03 01:36:14
【问题描述】:
我已经使用 JSP/Servlets 创建了一个简单的 Web Portal。它连接到 MySQL 数据库,基本上门户只是用来管理 MySQL 数据库中的记录。
我现在想公开 REST API 以供任何人检索信息并将其插入 MySQL 数据库。 我可以使用 JSP/Servlets 来做到这一点吗?
如果有建议就好了。
【问题讨论】:
标签: java mysql jsp rest servlets
我已经使用 JSP/Servlets 创建了一个简单的 Web Portal。它连接到 MySQL 数据库,基本上门户只是用来管理 MySQL 数据库中的记录。
我现在想公开 REST API 以供任何人检索信息并将其插入 MySQL 数据库。 我可以使用 JSP/Servlets 来做到这一点吗?
如果有建议就好了。
【问题讨论】:
标签: java mysql jsp rest servlets
让我们首先得到一些简短的定义:
REST 是一种架构设计。你可以从Wikipedia 阅读这个清晰的解释。如今,大多数 REST 服务都使用 JSON 作为消息格式,但这并不是 REST 的强制性部分。您可以有 XML、图像等。
Servlet 是一个 RESTful 实现。您可以在 Java 中扩展 HttpServlet 并实现 RESTful 方法(GET、PUT、POST、DELETE)。很多人只使用 POST 和 GET,所以它不是 RESTful 的定义,但它可以工作。
JSP 在这种情况下不是您要寻找的。它主要是为用户界面设计的,并不是将“API”公开为服务等的正确方法。
现在关于您的问题,答案是肯定的,您可以使用 Servlet,但是今天有更好的工具来实现 REST。你需要做更多的工作来设置你的结构,但这将是一个优雅的解决方案。
使用 Java 的方法是使用 JAX-RS,这是 RESTful 服务的 Java 企业规范。可以关注官方教程Building RESTful Web Services with JAX-RS。我强烈建议您学习本教程,因为它可以让您很好地掌握所涉及的概念。
您也可以使用 Spring:Building a RESTful Web Service。我将 Jackson 2.0 与 Spring 一起使用,它就像一个魅力。
其他示例here。
【讨论】:
是的,您只能使用 servlet 来做到这一点,但这不是一个好主意,因为有很多好的框架可以做到这一点。
看看这个链接Jersey
【讨论】: