温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java如何接收HTTP

发布时间:2026-07-15 22:20:25 来源:亿速云 阅读:89 作者:小樊 栏目:编程语言

在 Java 中接收 HTTP 请求,常见做法取决于你是写服务端还是接收别人主动发来的请求。下面按最常见场景给你一个清晰总结。


一、最常见:Java 作为服务器接收 HTTP 请求

✅ 1. 使用 Spring Boot(最推荐)

示例:接收 GET / POST 请求

@RestController
public class TestController {

    // 接收 GET 请求
    @GetMapping("/hello")
    public String hello() {
        return "Hello HTTP";
    }

    // 接收 POST 请求(接收 JSON)
    @PostMapping("/user")
    public String user(@RequestBody User user) {
        return "接收到用户:" + user.getName();
    }
}
public class User {
    private String name;
    // getter / setter
}

✅ 支持:

  • GET / POST / PUT / DELETE
  • JSON 自动解析
  • 表单参数、URL 参数

启动后访问:

http://localhost:8080/hello

✅ 2. 使用 Spring MVC(传统 Web 项目)

@Controller
public class DemoController {

    @RequestMapping("/test")
    @ResponseBody
    public String test(HttpServletRequest request) {
        String param = request.getParameter("a");
        return "param = " + param;
    }
}

✅ 3. 使用 Servlet(最底层)

@WebServlet("/demo")
public class DemoServlet extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws IOException {
        String name = req.getParameter("name");
        resp.getWriter().write("Hello " + name);
    }
}

适合:

  • 理解 HTTP 原理
  • 传统 Java Web 项目

二、Java 接收 HTTP 的原始方式(不推荐)

❌ 自己写 ServerSocket(仅学习用)

ServerSocket serverSocket = new ServerSocket(8080);
Socket socket = serverSocket.accept();

⚠️ 需要自己解析 HTTP 协议,非常麻烦。


三、Java 作为客户端“接收”HTTP(反向理解)

如果你是被动接收别人发来的 HTTP 请求,那你一定是服务端(上面已经讲完)。

如果你是主动接收 HTTP 响应,那是发送请求,例如:

✅ Java 发送 HTTP 请求(HttpClient)

HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
        .uri(URI.create("https://example.com"))
        .build();

HttpResponse<String> response =
        client.send(request, HttpResponse.BodyHandlers.ofString());

System.out.println(response.body());

四、常见接收方式对比

方式 推荐度 场景
Spring Boot ⭐⭐⭐⭐⭐ 企业开发
Spring MVC ⭐⭐⭐⭐ 传统 Web
Servlet ⭐⭐⭐ 基础学习
ServerSocket 学习 HTTP

五、你可以补充一下

为了给你更精准的示例,可以告诉我:

  1. ✅ 是 接收请求 还是 发送请求
  2. ✅ 是否使用 Spring Boot
  3. ✅ 接收的是 JSON / 表单 / 文件
  4. ✅ 是 GET 还是 POST

我可以直接给你可运行代码

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI