具有 GET、POST、PUT 和 DELETE 的 servlet 路由

use*_*195 0 java servlets

我是 Java 服务器端编程的新手,我的问题基本上是使用 Servlet 开始(低级别,不使用 spring mvc 等),然后从那里开始构建我的方式,来自 node.js 背景,其中路由定义将以函数( 等)开始app.get(request, response) {}app.post(request, response) {}该函数将接收requesthttpresponse方法之一(GET、POST、PUT、DELETE)的参数。

如果有人可以帮助我了解如何针对/usersservlet 类内的路由(比方说)定义方法,该类映射到 http 方法,同时在其参数中提供请求和响应。

我的尝试

public class FirstServlet extends HttpServlet {

  public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException , IOException {

}
Run Code Online (Sandbox Code Playgroud)

Aca*_*lco 5

我相信你想要的是Servlet 映射。您还可以在这里找到更多信息

但基本上,这是您告诉 Web 服务器(例如 Tomcat)使用哪个 servlet 来应答发送到给定 url 模式的请求的方式。因此,您可以将模式与您想要用来提供服务的 servlet 进行映射。

您还可以在此处找到有关内部工作原理的更多信息。

编辑:如果您想处理所有动词,您可以使用服务。从第一个链接:

您可能已经看到其他 Servlet 示例实现了 doPost() 和/或 doGet() 方法。这些方法仅回复 POST 或 GET 请求;如果您想通过单个方法处理所有请求类型,您的 servlet 可以简单地实现 service() 方法。(但是,如果您选择实现 service() 方法,则无法实现 doPost() 或 doGet() 方法,除非您在 service() 方法的开头调用 super.service()。) HTTP servlet 规范描述了用于处理其他请求类型的其他方法,但所有这些方法统称为服务方法。

所有服务方法都采用相同的参数。HttpServletRequest 提供有关请求的信息,您的 servlet 使用 HttpServletResponse 来回复 HTTP 客户端。服务方法如下所示:

公共无效服务(HttpServletRequest req,HttpServletResponse res)抛出IOException {...}