package builder; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.InetSocketAddress; import java.net.URI; import java.sql.CallableStatement; import java.sql.Connection; import com.alibaba.fastjson.JSONArray; import com.sun.net.httpserver.Headers; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; import com.alibaba.fastjson.JSONObject; import ng.db.DBHelper; import ng.db.DBSession; public class HttpHandlerDemo implements HttpHandler{ DBHelper db; @Override public void handle(HttpExchange httpExchange) throws IOException { //ÇëÇóµØÖ· InetSocketAddress inetSocketAddress=httpExchange.getRemoteAddress(); //ÇëÇó·½Ê½ String requestMethod=httpExchange.getRequestMethod(); //url URI url=httpExchange.getRequestURI(); if(requestMethod.equalsIgnoreCase("GET")){//¿Í»§¶ËµÄÇëÇóÊÇget·½·¨ //ÉèÖ÷þÎñ¶ËÏìÓ¦µÄ±àÂë¸ñʽ£¬·ñÔòÔÚ¿Í»§¶ËÊÕµ½µÄ¿ÉÄÜÊÇÂÒÂë Headers responseHeaders = httpExchange.getResponseHeaders(); responseHeaders.set("Content-Type", "text/html;charset=utf-8"); //ÔÚÕâÀïͨ¹ýhttpExchange»ñÈ¡¿Í»§¶Ë·¢Ë͹ýÀ´µÄÏûÏ¢ //URI url = httpExchange.getRequestURI(); //InputStream requestBody = httpExchange.getRequestBody(); String response = "this is server"; httpExchange.sendResponseHeaders(HttpURLConnection.HTTP_OK, response.getBytes("UTF-8").length); OutputStream responseBody = httpExchange.getResponseBody(); OutputStreamWriter writer = new OutputStreamWriter(responseBody, "UTF-8"); writer.write(response); writer.close(); responseBody.close(); } else { //ÇëÇó±¨ÎÄ InputStream inputStream=httpExchange.getRequestBody(); ByteArrayOutputStream bas=new ByteArrayOutputStream(); int i; while((i=inputStream.read())!=-1) { bas.write(i); } String requestmsg=bas.toString(); JSONObject jsonObject = JSONObject.parseObject(requestmsg); String shebei=jsonObject.get("sn").toString(); JSONArray a=jsonObject.getJSONArray("logs"); String user_id=a.getJSONObject(0).get("user_id").toString(); String times=a.getJSONObject(0).get("recog_time").toString(); System.out.println("ÇëÇó±¨ÎÄ:"+shebei+user_id+times); DBSession sn=null; DBHelper.addHelper("mes","jdbc:mysql://127.0.0.1:3307/gmms?serverTimezone=GMT%2B8","root","beibo.123/"); String result=null; try{ sn=DBHelper.getDBHelper("mes").createSession(false); Connection con= sn.getConnection(); CallableStatement sql=con.prepareCall("{call Face_recognition(?,?,?,?)}"); sql.registerOutParameter(4, java.sql.Types.VARCHAR); sql.setString(1, shebei); sql.setString(2, user_id); sql.setString(3, times); sql.execute(); result= sql.getString(4); System.out.println(result); } catch(Exception e){ e.printStackTrace(); } finally{ sn.close(); } //·µ»Ø±¨ÎÄ JSONObject jsonObject1 = new JSONObject(); jsonObject1.put("Result", 0); jsonObject1.put("Content", ""); jsonObject1.put("Msg", ""); httpExchange.sendResponseHeaders(HttpURLConnection.HTTP_OK,jsonObject1.toString().getBytes("UTF-8").length ); OutputStream outputStream=httpExchange.getResponseBody(); outputStream.write(jsonObject1.toString().getBytes("UTF-8")); outputStream.close(); } } }