当前位置: 首页 > 知识库问答 >
问题:

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

戎洛华
2023-03-14

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

如果有人可以帮助我,从一个servlet类中的路由(比如说/users)开始定义方法,这个servlet类映射到http方法,同时在其参数中提供请求和响应。

我的尝试

public class FirstServlet extends HttpServlet {

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

}

共有1个答案

令狐新翰
2023-03-14

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

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

你也可以在这里找到更多关于内部工作的信息。

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

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

公共void服务(HttpServletRequest-req,HttpServletResponse-res)抛出IOException{…}

 类似资料:
  • 唯一的GET方法一直在工作,但PUT、POST和DELETE总是出错。我尝试通过网络更新处理程序映射。也可以在IIS站点下进行配置。最初,我得到了错误的状态代码405作为方法不允许。当我将处理程序映射更改为 开始将415的错误设置为“不支持的媒体类型”。以下是我收到的回复 {StatusCode: 415, ReasonPhrase:'Unsupport Media Type', Version:

  • 问题内容: 因此,我一直在浏览有关创建REST API的文章。其中一些建议使用所有类型的HTTP请求:like 。我们将创建例如 index.php 并以这种方式编写API: 好的,理所当然-我对Web服务还不太了解。但是,通过常规或(包含方法名称和所有参数)接受 JSON 对象,然后也以JSON进行响应,会不会更容易。我们可以轻松地通过PHP进行序列化/反序列化,并且无需处理不同的HTTP请求方

  • 我有一个简单的REST客户端,带有GET、POST和DELETE方法。 奇怪的是,只有GET方法起作用,POST和DELETE都不起作用,响应当然是“404 Not found”。 我尝试用jersey或apache客户机请求,但它们都返回404,我现在就像绝望了。 希望你能给我一个方向。

  • 问题内容: 如何检测PHP中使用了哪种请求类型(GET,POST,PUT或DELETE)? 问题答案: 通过使用 例

  • 问题内容: 我正在工作一个内部Web应用程序。在IE10中,请求工作正常,但在Chrome中,所有AJAX请求(很多)都是使用OPTIONS发送的,而不是我提供的任何已定义方法。从技术上讲,我的要求是“跨​​域”。该站点位于localhost:6120上,我向AJAX发出请求的服务位于57124上。此关闭的jquery错误定义了该问题,但不是真正的解决方法。 如何在ajax请求中使用正确的http

  • 我正在测试一个简单的后端,在SpringBoot架构的帮助下使用RESTfulWeb服务。现在我已经完成了后端,但是我无法使用访问、和方法(其他http方法工作-和) 用户控制器类 应用初始化器类 证券配置 MyUserDetails服务 JWTRequestFilter CORS滤波器 我发送了POSThttp://localhost:8080/api/v1/users{'name':'Char