使用GET,POST,PUT和DELETE的servlet路由

时间:2015-07-02 06:11:38

标签: java servlets

我是Java服务器端编程的新手,我的问题基本上是使用Servlets(低级别而不使用spring mvc等)到达起点,然后从那里开始构建我的方式,来自节点.js背景,其中路由定义将以函数(app.get(request, response) {}app.post(request, response) {}等)开头,并且该函数将在其中一个http的参数中接收requestresponse方法(GET,POST,PUT,DELETE)。

如果有人可以请求帮助我们如何在一个servlet类中定义路径的方法(让我们说/users),并在提供请求的同时映射到http方法并在其参数中作出反应。

我的尝试

public class FirstServlet extends HttpServlet {

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

}

1 个答案:

答案 0 :(得分:4)

我相信你想要的是Servlet mappings。您还可以找到a bit more info here

但基本上这就是你告诉web服务器(例如Tomcat)使用什么servlet来回答发送给给定url模式的请求的方式。因此,您将模式映射到要用于服务它的servlet。

您还可以在inner workings here找到更多信息。

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

  

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

     

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

     

public void service(HttpServletRequest req,          HttpServletResponse res)抛出IOException {...}