java - 使用 SQL 查询插入和更新数据......那么为什么我们需要 doGet、post 和 put 方法

标签 java servlets

在http请求中,我们有get、put、post、delete方法。 Post 用于插入和 Put用于更新。 这些操作都是使用SQL查询来执行的......那么使用doGet、doPost方法有什么意义呢?

最佳答案

您混淆了两个不同的概念。 Http 动词通常用作 RESTful Web 服务的一部分。所以实际上,这个问题可以重新表述为“为什么我们通过 Web 服务与外界交互,而不是仅仅让他们直接访问数据库?”

既然如此,最明显的原因之一就是安全性。一旦其他人能够直接访问数据库,就很难控制他们与数据的交互方式 - 他们可以看到您可能不想向他们显示的数据,并且他们可以进行不适当的编辑和删除。

此外,人们还必须了解您的数据库结构以及您正在使用的 SQL 变体。我了解 Oracle PL/SQL 并不意味着我特别了解如何使用 MySQL。

最后一点:是什么让您如此确信所有 RESTful 服务的后端都有 SQL 数据库?他们不能使用 Hadoop 或 MongoDB 或类似的东西吗?

无论哪种方式,数据库逻辑都是实现细节。 HTTP 动词是我们以编程方式相互交互的一种方式,而不需要对彼此的系统了解太多。我不关心我的供应商的数据库是什么样的 - 我只关心如何调用他们为我提供的端点。

关于java - 使用 SQL 查询插入和更新数据......那么为什么我们需要 doGet、post 和 put 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56314373/

相关文章:

将war部署到weblogic时出现java.lang.ClassNotFoundException : org. apache.camel.Processor

java - Servlet 的 UTF-8 响应

java - 将数据库中的数据存储检索到 Java

java - Selenium WebDriver RuntimeException :Process refused to die after 10 seconds, 并且无法对其进行 taskkill:无法找到可执行文件:taskkill

java - 为什么我们使用 ViewTreeObserver#addOnGlobalLayoutListener()

java - 将最大和最小 JVM 堆大小设置为相同是否很好?

java - DBRefs(Mongo 文档引用)未急切获取

java - 如何在 Content-Disposition header 中设置包含空格的文件名

java - 在 tomcat 上部署时 Servlet 抛出异常

servlets - ManagedBean 类中的 Java Faces ServletContext 对象