Um das Datum auf die vorbereitete Anweisung zu setzen, müssen Sie den Werttyp ändern:
String date = request.getParameter("date");
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); // your template here
java.util.Date dateStr = formatter.parse(date);
java.sql.Date dateDB = new java.sql.Date(dateStr.getTime());
Konvertieren Sie nun String date in java.sql.Date und verwenden Sie eine andere Methode:
preparedStatement.setDate(4,dateDB);