88import java .io .OutputStream ;
99import java .net .InetSocketAddress ;
1010import java .net .URI ;
11+ import java .net .URLDecoder ;
1112import java .util .List ;
1213import java .util .Map .Entry ;
1314import java .util .Set ;
@@ -29,6 +30,8 @@ public class SimpleHttpServer {
2930
3031 private static Logger _logger = Logger .getLogger (SimpleHttpServer .class );
3132
33+ private static String _charset = "utf-8" ;
34+
3235 static class MyHandler implements HttpHandler {
3336
3437 @ Override
@@ -49,13 +52,16 @@ public void handle(HttpExchange httpEx) throws IOException {
4952 _logger .info (header .getKey ()+":" +header .getValue ());
5053 }
5154
55+ // 获取请求内容
5256 InputStream ins = httpEx .getRequestBody ();
53- String content = IOUtils .toString (ins , "utf-8" );
57+ String content = URLDecoder .decode (
58+ IOUtils .toString (ins , _charset ), _charset );
5459 _logger .info ("请求内容:" +content );
5560 IOUtils .closeQuietly (ins );
5661
57- String rc = "Hello, 汉字" ;
58- byte [] temp = rc .getBytes ("utf-8" );
62+ // 返回响应
63+ String rc = "冒号后面是收到的请求,原样返回:" +content ;
64+ byte [] temp = rc .getBytes (_charset );
5965 httpEx .sendResponseHeaders (200 , temp .length );
6066 OutputStream outs = httpEx .getResponseBody ();
6167 outs .write (temp );
0 commit comments