public static void main(String[] args)
{
HttpServerProvider provider = HttpServerProvider.provider();
try {// 监听端口9800
server = provider.createHttpServer(new InetSocketAddress(9499), 0);
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("监听端口" + 9800 + "失败");
return;
}
server.createContext("/webABC", new MyHandler());
server.setExecutor(null);
server.start();
System.out.println("httpserver 端口9800");
}
如上启动后,接收到ajax请求,从数据库中查询数据出来正常,但ajax接收到的结果中,中文乱码
解决办法:
public void handle(HttpExchange exchange)方法中,返回结果时,用这段
Headers responseHeaders = httpExchange.getResponseHeaders();
responseHeaders.set("Content-Type", "text/html;charset=utf-8");
OutputStream out = httpExchange.getResponseBody(); // 获得输出流
OutputStreamWriter writer = new OutputStreamWriter(out, "UTF-8");
writer.write(result);
writer.close();
out.flush();
out.close();