有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

rest使用POST请求将值从HTTP客户端发送到HTTP服务器,使用Java编码

我不想做任何复杂的事情:我试图做一个尽可能简单的从客户端到服务器的传输

我知道使用HTTP客户端/服务器的方法是使用POST

我一直在尝试,甚至只是一个简单的职位申请工作6-7个小时,现在却一无所获。 因此,我认为现在是时候停止尝试自己解决这个问题了,并在这里发布一个问题:使用post请求将值从HTTP客户机传输到用Java编码的HTTP服务器的最简单方式是什么

我想我知道如何从客户端发送数据,但我找不到任何地方解释如何在服务器上接收数据

这是我在服务器程序(通过教程)中使用的,只是为了测试来自客户机的GET请求(有效):

    public static void main(String args[]) throws IOException {
    HttpServer server = HttpServer.create(new InetSocketAddress(8000),0);
    server.createContext("/test", new testHandler());
    server.setExecutor(null);
    server.start();
}
static class testHandler implements HttpHandler {

    @Override
    public void handle(HttpExchange t) throws IOException {
        String test = "Hello World!";
        t.sendResponseHeaders(200,test.length());
        OutputStream stream = t.getResponseBody();
        stream.write(test.getBytes());
        stream.close();
    }

我如何修改上述代码以适应POST请求?(即接受客户提供的价值)


共 (1) 个答案

  1. # 1 楼答案

    我想出来了

    我所要做的就是在HttpExchange对象的输入流上使用BufferedReader(因为我在客户端POST请求中通过输出流发送值)

    我刚刚在上面提到的服务器代码中添加了以下内容:

    BufferedReader input = new BufferedReader(new InputStreamReader(t.getRequestBody()));
            int a = input.read();
            String test = "You sent the value "+a+" to the server";
    

    这条消息现在可以完美地打印回我的客户端程序