请求的示例代码:

import java.io.IOException;
import java.io.OutputStream;
import java.net.InetSocketAddress;

import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;

public class MyHttpServer {

    public static void main(String[] args) throws Exception {
        HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0);
        server.createContext("/", new MyHandler());
        server.setExecutor(null);
        server.start();
        System.out.println("Server started on port 8000");
    }

    static class MyHandler implements HttpHandler {
        @Override
        public void handle(HttpExchange exchange) throws IOException {
            String requestMethod = exchange.getRequestMethod();
            if (requestMethod.equalsIgnoreCase("GET")) {
                handleGetRequest(exchange);
            } else if (requestMethod.equalsIgnoreCase("POST")) {
                handlePostRequest(exchange);
            }
        }

        private void handleGetRequest(HttpExchange exchange) throws IOException {
            String response = "This is a GET request";
            exchange.sendResponseHeaders(200, response.length());
            OutputStream os = exchange.getResponseBody();
            os.write(response.getBytes());
            os.close();
        }

        private void handlePostRequest(HttpExchange exchange) throws IOException {
            String response = "This is a POST request";
            exchange.sendResponseHeaders(200, response.length());
            OutputStream os = exchange.getResponseBody();
            os.write(response.getBytes());
            os.close();
        }
    }
}

该示例代码创建了一个监听在8000端口的HTTP服务器,并通过createContext方法指定了默认的处理程序为MyHandlerMyHandler实现了HttpHandler接口,可以处理来自客户端的HTTP请求。

handle方法中,根据请求方法的不同,调用了handleGetRequesthandlePostRequest方法处理GET或POST请求。这两个方法分别向客户端发送了不同的响应。在响应中,我们使用sendResponseHeaders方法指定了HTTP状态码和响应体的长度,并使用getResponseBody方法获取输出流,向客户端发送响应体。

通过这种方式,我们可以创建一个简单的HTTP服务器,只接受GET和POST请求

java写http服务器只接受post方式请求和get方式

原文地址: https://www.cveoy.top/t/topic/fFm2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录