如果想开发HTTP服务端不想用容器TOMCAT或者APACHE之类的,那么下面这个绝对是你最佳的选择!
package com.lee.java;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.InetSocketAddress;
import java.util.concurrent.Executors;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;
import com.sun.net.httpserver.spi.HttpServerProvider;
public class MyHttpServer {
public static void httpserverService() throws IOException {
HttpServerProvider provider = HttpServerProvider.provider();
HttpServer httpserver = provider.createHttpServer(
new InetSocketAddress(80), 100);
httpserver.createContext("/", new MyHttpHandler());
httpserver.setExecutor(Executors.newCachedThreadPool());
httpserver.start();
System.out.println("server started");
}
// Http请求处理类
static class MyHttpHandler implements HttpHandler {
public void handle(HttpExchange httpExchange) throws IOException {
InputStream in = httpExchange.getRequestBody(); // 获得输入流
BufferedReader reader = new BufferedReader(
new InputStreamReader(in));
String temp = null;
while ((temp = reader.readLine()) != null) {
System.out.println("client request:" + temp);
}
OutputStream out = httpExchange.getResponseBody(); // 获得输出流
byte[] data = "HTTP轻量级服务器欢迎使用HttpServer!"
.getBytes();
httpExchange.sendResponseHeaders(200, data.length); // 设置响应头属性及响应信息的长度
out.write(data);
out.flush();
httpExchange.close();
}
}
public static void main(String[] args) throws IOException {
httpserverService();
}
}
JDK7不含有这个jar包需要手动下载添加到工程才能编译!
com.sun.net.httpserver.jar本文链接:https://it72.com/603.htm