В любое время вы объединяете предоставленные пользователем строки для построения оператора SQL, без адекватного экранирования строки, вы подвержены атакам SQL-инъекций.
Ваш код должен быть написан какthis:
String search = request.getParameter("search");
String sql = "SELECT * FROM table_name WHERE search LIKE ?";
try (PreparedStatement s = conn.prepareStatement(sql)) {
s.setString(1, '%' + search + '%');
try (ResultSet r = s.executeQuery()) {
// more code here
}
}
Обратите внимание на использование LIKE
для правильной работы групповых символов и использование try-with-resources для правильного close()
ресурсов JDBC.