Зачем писать такой код? Это очень расточительно обходить весь стол ...
IO один ...
Почему бы не перейти на это:
ResultSet rs = null;
PreparedStatement st = null;
try {...
String ID = req.getParameter("T1");
String query = "select 1 from user_db where col_name = ?";
st = conn.prepareStatement(query);
st.setString(1, ID);
rs = st.executeQuery();
if (rs.next()) {
out.println(ID);
out.println("<html><body><h> login Pass.....:(</h></body></html>");
}
..
} finally {
if (rs != null) try { rs.close();}catch (Exception e) {}
if (st != null) try { st.close();}catch (Exception e) {}
}
подготовленные уведомления кешируются и лучше для частого использования
вы позволяете БД делать то, что хорошо - ищите данные
выбор 1 вместо выбора * не возвращает данные, которые вам на самом деле не нужны
jdbc работает тем больше, чем больше столбцов и данных в целом вы возвращаете, так что получите только то, что
необходимо
и добавьте блок finally, чтобы всегда правильно закрывать соединения с БД