如果你想要它非常简单你可以尝试JDK 1.6 com.sun.net.httpserver.HttpServer,它还有基本的身份验证机制:
HttpServer server = HttpServer.create(new InetSocketAddress(8888), 0);
HttpContext cc = server.createContext("/test", new MyHandler());
cc.setAuthenticator(new BasicAuthenticator("test") {
@Override
public boolean checkCredentials(String user, String pwd) {
return user.equals("test") && pwd.equals("test");
}
});
server.setExecutor(null); // creates a default executor
server.start();
Run Code Online (Sandbox Code Playgroud)
如果你希望它像apache一样简单,那么试试Jetty http://www.eclipse.org/jetty/这是一个真正的Web服务器,它易于使用,它可以嵌入到Java独立应用程序中.
因为Java 1.6,有一个内置HTTP server.这是一个例子
package com.example;
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 Test {
public static void main(String[] args) throws Exception {
HttpServer server = HttpServer.create(new InetSocketAddress(8000), 0);
server.createContext("/test", new MyHandler());
server.setExecutor(null); // creates a default executor
server.start();
}
static class MyHandler implements HttpHandler {
public void handle(HttpExchange t) throws IOException {
String response = "This is the response";
t.sendResponseHeaders(200, response.length());
OutputStream os = t.getResponseBody();
os.write(response.getBytes());
os.close();
}
}
}
Run Code Online (Sandbox Code Playgroud)
执行它并转到http://localhost:8000/test,你会看到响应
| 归档时间: |
|
| 查看次数: |
6104 次 |
| 最近记录: |