Maks00088
@Maks00088
Обучаюсь Java/JavaEE /Php/Js

Правильно ли я пользуюсь try with resources или в чём тут проблемма?

После валидации запрос приходит сюда но не заходит в Connection блок, кто может сказать в чём проблемма ?
Не получаю никаких ошибок по поводу проблеммы соединения, не знаю на что смотреть .. Буду рад советам!!!
public class LoginService {

    private static ConnectionPool connectionPool = ConnectionPool.con_instance;
    private static Connection con = null;

    public static boolean checkUser(TreeMap<String, String> sortedData, HttpServletResponse response) throws CouponSystemException {

        String name = sortedData.get("nickname");
        String password = sortedData.get("password");
        String email = sortedData.get("email");

        System.out.println(name + ": " + password + ": " + email + " Login service"); // Печатает! После чего заходит в finally и всё!

        try (Connection con = connectionPool.getConnection()){ //  В сам блок как будто не заходит. 

            System.out.println("Before Pre"); // No input
                String queryDataBase = "SELECT nick_name,password,email FROM users  WHERE nick_name = ? AND password = ? AND email = ?";

                PreparedStatement preparedStatement = con.prepareStatement(queryDataBase);
                preparedStatement.setString(1, sortedData.get("nickname"));
                preparedStatement.setString(2, sortedData.get("password"));
                preparedStatement.setString(3, sortedData.get("email"));
                ResultSet resultSetQuery = preparedStatement.executeQuery();
            System.out.println("After Pre"); // No input
                while (resultSetQuery.next()) {
                    if (resultSetQuery.getString("nick_name").equals(sortedData.get("nickname"))) {
                        if (resultSetQuery.getString("password").equals(sortedData.get("password"))) {
                            if (resultSetQuery.getString("email").equals(sortedData.get("email"))) {

                                try {
                                    ResponseDataHandler.ToJsonResponse("success", response);
                                    System.out.println("Success");
                                } catch (IOException io) {
                                    throw new CouponSystemException(io.getMessage());
                                }

                                return true;
                            }
                        }
                    } else if (resultSetQuery.getString("nick_name").equals(null)) {
                        return false;
                    }
                }
                   return false;

        } catch (SQLException e) {
            throw new CouponSystemException(e.getMessage());
        }finally {
            connectionPool.returnConnection(con); // Это строка работает!
        }
    }
}


Папка томката:
43de203e0a964769be1a6a24e2b0dcd9.png
Джарики которые я деплою.
7611da299b274190ab884838c433037a.png
  • Вопрос задан
  • 297 просмотров
Решения вопроса 1
xez
@xez Куратор тега Java
TL Junior Roo
Может и не заходить, если Connection con = connectionPool.getConnection() бросает эксепшн.
Попробуй подебажить и/или в блок catch добавить какой-нибудь System.out.println("Inside catch block!");
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы