Вам нужно перейти к самой нижней части «Вызванной» трассировки стека для коренной причины real . В вашем конкретном случае это следующее:
Caused by: java.lang.NullPointerException
at mx.gob.sagarpa.utilidades.Database.checkUser(Database.java:61)
В строке 61 класса Database
внутри метода checkUser()
указана некоторая ссылка на объект null
, когда код обращается к нему с помощью оператора периода .
.
someObject = null;
someObject.doSomething(); // NullPointerException!
Чтобы исправить это, вам нужно либо добавить нулевую проверку
if (someObject != null) {
someObject.doSomething();
} else {
// Take alternate path?
}
или чтобы убедиться, что он никогда не null
someObject = createItSomehow();
someObject.doSomething(); // Okay.
Какой путь выбрать, зависит от конкретного функционального требования, которое не ясно из вопроса. Но теперь вы должны хотя бы понять, почему может возникнуть NullPointerException
. Это также объясняется в javadoc (который должен быть источником № 1 для поиска информации о классах, включая исключения):
Выдается, когда приложение пытается использовать null
в случае, когда требуется объект. К ним относятся:
- Вызов метода экземпляра объекта
null
.
- Доступ или изменение поля объекта
null
.
- Взять длину
null
, как если бы это был массив.
- Доступ или изменение слотов
null
, как если бы это был массив.
- Бросок
null
, как если бы это было значение Throwable
.
Приложения должны генерировать экземпляры этого класса, чтобы указать на другое незаконное использование объекта null
.
Тем не менее, эта проблема не совсем связана с JSF. Это просто базовая Java. Я бы посоветовал потратить некоторое время на изучение приличной базовой книги / учебника по Java.