java httpserver jar,JDK 内置的轻量级 HTTP 服务器 - HttpServer - 合纵卓越

1. 概述

HttpServer 是 JDK 1.6 以后内置的一个轻量级 HTTP 服务器(在 rt.jar 包中的 com.sun.net.httpserver 包下)。一个 HttpServer 实例被绑定到一个IP地址和端口号,并监听来自该地址的客户端TCP连接。其子类 HttpsServer 实现了 HTTPS 服务,还能处理 HTTPS 请求。

一个简单的 HTTP 服务器:

// 创建 http 服务器, 绑定本地 8080 端口

HttpServer httpServer = HttpServer.create(new InetSocketAddress(8080), 0);

// 创建上下文监听, "/" 表示匹配所有 URI 请求

httpServer.createContext("/", new HttpHandler() {

@Override

public void handle(HttpExchange httpExchange) throws IOException {

/*

* PS: 必须按顺序设置响应: 添加响应头, 发送响应码和内容长度, 写出响应内容, 关闭处理器

*/

// 响应内容

byte[] respContents = "Hello World".getBytes("UTF-8");

// 设置响应头

httpExchange.getResponseHeaders().add("Content-Type", "text/html; charset=UTF-8");

// 设置响应code和内容长度

httpExchange.sendResponseHeaders(200, respContents.length);

// 设置响应内容

httpExchange.getResponseBody().write(respContents);

// 关闭处理器, 同时将关闭请求和响应的输入输出流(如果还没关闭)

httpExchange.close();

}

});

// 启动服务

httpServer.start();

浏览器访问: http://localhost:8080,输出: Hello World

使用 HttpServer 实现一个 HTTP 服务器主要涉及下面几个类:

HttpServer: 表示一个服务器实例

HttpContext: 服务器监听器的上下文

HttpHandler: 上下文对应的 http 请求处理器

HttpExchange: 对 http 请求和响应的数据封装

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值