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();
????????}
????}
}
訪問:
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
--------------------------
posted on 2007-06-22 14:13
交口稱贊 閱讀(2201)
評論(0) 編輯 收藏 所屬分類:
Java6