GET-запрос не передается в сервлет Arduino Java MySQL

Я новичек в этой теме. Помогите, пожалуйста, решить вопрос с передачей данных в таблицу MySQL из устройства. У меня на локальном сервере создан сервлет с doGet. В качестве параметров он принимает температуру и влажность и записывает их в БД:

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    response.setContentType("text/html");
    PrintWriter writer = response.getWriter();

    String temp = request.getParameter("temp");
    String hum = request.getParameter("hum");
    try {
        writer.println("<h2>Temperature: " + temp + "; Humidity: " + hum + "</h2>");
    } finally {
        writer.close();
    }

    // create Table
    String sqlCreateTable = "CREATE TABLE parameters (Temperature INT , Humidity INT )";
    Connection conn = null;
    try {
        conn = DriverManager.getConnection(url, username, password);
        Statement statement = conn.createStatement();
        statement.executeUpdate(sqlCreateTable);
    } catch (SQLException throwables) {
        throwables.printStackTrace();
    }

    // update Table
    try {
        String sql = "INSERT INTO parameters (Temperature, Humidity) Values (?, ?)";
        PreparedStatement preparedStatement = conn.prepareStatement(sql);
        preparedStatement.setInt(1, Integer.parseInt(temp));
        preparedStatement.setInt(2, Integer.parseInt(hum));
        preparedStatement.execute();
        conn.close();
    } catch (SQLException e) {
        e.printStackTrace();
        System.out.println("Connection Failed! Check output console");
        } finally {
            try {
                if(conn != null) conn.close();
                System.out.println("Connection closed !!");
            } catch (SQLException e) {
                e.printStackTrace();
        }
    }
  }

Далее я на стороне Ардуинки пытаюсь писать передачу запроса в созданный мною сервлет:

void loop(){ 
WiFiClient client = server.available();

    int t = bme.readTemperature(); 
    int h = bme.readHumidity(); 
    Serial.println(t); 
    Serial.println(h);

    String url = "/postRequest_war_exploded/?temp="+(String)t+"&hum="+(String)h; 
    Serial.print("Sending URL: "); 
    Serial.print(host); 
    Serial.println(url);

    client.print(String("GET ")+url+" HTTP/1.1\r\nHost: "+host+"\r\nConnection: close\r\n\r\n");
    сlient.flush();
    delay(30000);
}

Ping от устройства к локальному компьютеру есть. Но запись в БД почему-то не происходит.


Ответы (1 шт):

Автор решения: Roman C

Но запись в БД почему-то не происходит.

Надо учить jdbc, при выплнении DML используйте

 preparedStatement.executeUpdate();
→ Ссылка