Java 带有GET、POST、PUT和DELETE的servlet路由

Java 带有GET、POST、PUT和DELETE的servlet路由,java,servlets,Java,Servlets,我对Java服务器端编程还不熟悉,我的问题基本上是使用servlet(不使用spring mvc等的低级)到达一个起点,然后从node.js后台开始构建,路由定义将从一个函数(app.get(request,response){},app.post)开始(请求、响应){}等),函数将在http方法之一(GET、POST、PUT、DELETE)的参数中接收request和response 如果有人能提供帮助,我该如何定义servlet类中路由(比如/users)的方法,该servlet类映射到ht

我对Java服务器端编程还不熟悉,我的问题基本上是使用servlet(不使用spring mvc等的低级)到达一个起点,然后从node.js后台开始构建,路由定义将从一个函数(
app.get(request,response){}
app.post)开始(请求、响应){}
等),函数将在http方法之一(GET、POST、PUT、DELETE)的参数中接收
request
response

如果有人能提供帮助,我该如何定义servlet类中路由(比如
/users
)的方法,该servlet类映射到http方法,同时在其参数中提供请求和响应

我的尝试

public class FirstServlet extends HttpServlet {

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

}

我相信你想要的是。你也可以找到

但基本上,这是告诉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)引发IOException{…}


我相信你想要的是。你也可以找到

但基本上,这是告诉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)引发IOException{…}


那么到目前为止您尝试了什么呢?您可以使用servlet容器配置(web.xml)来指定应该为哪个URL调用哪个servlet,然后如果您只是扩展
HttpServlet
,您可以覆盖您想要的任何方法。那么,您有没有查看任何文档来找到答案?(删除并放置,是的-对于修补程序,您需要覆盖
服务
,并在那里拦截修补程序调用,如果不是修补程序,则授权回正常的实现。)我有点迷路了,谷歌搜索给了我各种各样的链接,请直接链接到文档A搜索“httpservlet文档”直接获取有用的链接…例如,取决于您正在使用的内容的版本…(如果您查看您正在使用的容器的文档,该容器可能具有正确的版本。)我不认为您现在真的能够判断Spring有多有用。我自己很长时间没有使用它,也不是为了这类事情,但您可能应该阅读文档,说明作者认为它的好处是什么。还有很多事情要做,不仅仅是将请求发送到正确的servlet的正确方法不过……到目前为止,您尝试了什么?您可以使用servlet容器配置(web.xml)来指定应该为哪个URL调用哪个servlet,然后如果您只是扩展
HttpServlet
,您可以覆盖您想要的任何方法。那么,您有没有查看任何文档来了解?(删除并放置,是的-对于修补程序,您需要覆盖
服务
,并在那里拦截修补程序调用,如果不是修补程序,则授权回正常的实现。)我有点迷路了,谷歌搜索给了我各种各样的链接,请直接链接到文档A搜索“httpservlet文档”直接获取有用的链接…例如,取决于您正在使用的内容的版本…(如果您查看您正在使用的容器的文档,该容器可能具有正确的版本。)我不认为您现在真的能够判断Spring有多有用。我自己很长时间没有使用它,也不是为了这类事情,但您可能应该阅读文档,说明作者认为它的好处是什么。还有很多事情要做,不仅仅是将请求发送到正确的servlet的正确方法虽然…这看起来