import
?java.io.IOException;
import ?java.io.InputStream;
import ?java.io.OutputStream;
import ?java.io.OutputStreamWriter;
import ?java.io.PrintWriter;
import ?java.net.InetSocketAddress;
import ?java.util.List;
import ?java.util.Map;
import ?com.sun.net.httpserver.Headers;
import ?com.sun.net.httpserver.HttpContext;
import ?com.sun.net.httpserver.HttpExchange;
import ?com.sun.net.httpserver.HttpHandler;
import ?com.sun.net.httpserver.HttpServer;
public ? class ?HttpServerAPITest2?{
???? public ? static ? void ?main(String[]?args)?{
???????? try ?{
????????????HttpServer?hs? = ?HttpServer.create( new ?InetSocketAddress( 8888 ),? 0 );
????????????hs.createContext( " / " ,? new ?MyHandler());
????????????hs.start();
????????????System.out.println( " ---Start--- " );
????????????System.out.println(hs.getAddress().getHostName());
????????????System.out.println(hs.getAddress().getPort());
????????????System.out.println(hs.getAddress().getAddress());
????????}? catch ?(IOException?ioe)?{
????????????ioe.printStackTrace();
????????}
????}
???? static ? class ?MyHandler? implements ?HttpHandler?{
???????? public ? void ?handle(HttpExchange?he)? throws ?IOException?{
????????????
????????????he.sendResponseHeaders( 200 ,? 0 );
????????????OutputStream?os? = ?he.getResponseBody();
????????????PrintWriter?printWriter? = ? new ?PrintWriter( new ?OutputStreamWriter(os,? " UTF-8 " ));
????????????he.getResponseHeaders().set( " Content-Type " ,? " HTML/plain;charset=utf-8 " );
????????????
????????????printWriter.println( " <font?color='red'>--------------------------</font> " );
????????????
????????????Headers?requestHeaders? = ?he.getRequestHeaders();
???????????? for ?(Map.Entry < String,?List < String >> ?entry?:?requestHeaders.entrySet())?{
????????????????printWriter.println( " </br> " + entry.getKey()? + ? " :? " ? + ?entry.getValue());
????????????}
????????????????
????????????
????????????printWriter.println( " </br> " + " <font?color='red'>--------------------------</font> " );
????????????Headers?responseHeaders? = ?he.getResponseHeaders();
???????????? for ?(Map.Entry < String,?List < String >> ?entry?:?responseHeaders.entrySet())
????????????????printWriter.println( " </br> " + entry.getKey()? + ? " :? " ? + ?entry.getValue());
????????????
????????????printWriter.println( " </br> " + " <font?color='red'>--------------------------</font> " );
????????????printWriter.println( " </br> " + he.getHttpContext().getPath());
????????????printWriter.println( " </br> " + " <font?color='red'>--------------------------</font> " );
????????????printWriter.println( " </br> " + he.getLocalAddress().getHostName());
????????????printWriter.println( " </br> " + he.getLocalAddress().getAddress());
????????????printWriter.println( " </br> " + he.getLocalAddress().getPort());
????????????
????
????????????printWriter.println( " <font?color='red'>--------------------------</font> " );
????????????
????????????
????????????
????????????printWriter.close();
????????}
????}
}
import ?java.io.InputStream;
import ?java.io.OutputStream;
import ?java.io.OutputStreamWriter;
import ?java.io.PrintWriter;
import ?java.net.InetSocketAddress;
import ?java.util.List;
import ?java.util.Map;
import ?com.sun.net.httpserver.Headers;
import ?com.sun.net.httpserver.HttpContext;
import ?com.sun.net.httpserver.HttpExchange;
import ?com.sun.net.httpserver.HttpHandler;
import ?com.sun.net.httpserver.HttpServer;
public ? class ?HttpServerAPITest2?{
???? public ? static ? void ?main(String[]?args)?{
???????? try ?{
????????????HttpServer?hs? = ?HttpServer.create( new ?InetSocketAddress( 8888 ),? 0 );
????????????hs.createContext( " / " ,? new ?MyHandler());
????????????hs.start();
????????????System.out.println( " ---Start--- " );
????????????System.out.println(hs.getAddress().getHostName());
????????????System.out.println(hs.getAddress().getPort());
????????????System.out.println(hs.getAddress().getAddress());
????????}? catch ?(IOException?ioe)?{
????????????ioe.printStackTrace();
????????}
????}
???? static ? class ?MyHandler? implements ?HttpHandler?{
???????? public ? void ?handle(HttpExchange?he)? throws ?IOException?{
????????????
????????????he.sendResponseHeaders( 200 ,? 0 );
????????????OutputStream?os? = ?he.getResponseBody();
????????????PrintWriter?printWriter? = ? new ?PrintWriter( new ?OutputStreamWriter(os,? " UTF-8 " ));
????????????he.getResponseHeaders().set( " Content-Type " ,? " HTML/plain;charset=utf-8 " );
????????????
????????????printWriter.println( " <font?color='red'>--------------------------</font> " );
????????????
????????????Headers?requestHeaders? = ?he.getRequestHeaders();
???????????? for ?(Map.Entry < String,?List < String >> ?entry?:?requestHeaders.entrySet())?{
????????????????printWriter.println( " </br> " + entry.getKey()? + ? " :? " ? + ?entry.getValue());
????????????}
????????????????
????????????
????????????printWriter.println( " </br> " + " <font?color='red'>--------------------------</font> " );
????????????Headers?responseHeaders? = ?he.getResponseHeaders();
???????????? for ?(Map.Entry < String,?List < String >> ?entry?:?responseHeaders.entrySet())
????????????????printWriter.println( " </br> " + entry.getKey()? + ? " :? " ? + ?entry.getValue());
????????????
????????????printWriter.println( " </br> " + " <font?color='red'>--------------------------</font> " );
????????????printWriter.println( " </br> " + he.getHttpContext().getPath());
????????????printWriter.println( " </br> " + " <font?color='red'>--------------------------</font> " );
????????????printWriter.println( " </br> " + he.getLocalAddress().getHostName());
????????????printWriter.println( " </br> " + he.getLocalAddress().getAddress());
????????????printWriter.println( " </br> " + he.getLocalAddress().getPort());
????????????
????
????????????printWriter.println( " <font?color='red'>--------------------------</font> " );
????????????
????????????
????????????
????????????printWriter.close();
????????}
????}
}
訪(fǎng)問(wèn):http://127.0.0.1:8888/
--------------------------
Host: [127.0.0.1:8888]
Accept-encoding: [gzip, deflate]
Connection: [Keep-Alive]
Accept-language: [zh-cn,en-US;q=0.5]
Ua-cpu: [x86]
User-agent: [Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; MAXTHON 2.0)]
Accept: [*/*]
--------------------------
Transfer-encoding: [chunked]
Content-type: [HTML/plain;charset=utf-8]
--------------------------
/
--------------------------
localhost
localhost/127.0.0.1
8888 --------------------------