Lo que te conviene ahora es ejecutar en
modo debug para seguir la ejecución del programa, si buscás en internet vas a encontrar la manera de hacerlo, es muy simple, cuando el programa
"se quiebre" será en el resultado
null que te está dando problemas, por ejemplo, una posibilidad es que sea acá:
Cita: String estusuario = null;
String estcontrasena = null;
while (res.next()){
estusuario = res.getString("usuario"); ---> tal vez esto está mal
estcontrasena = res.getString("contrasena"); ---> tal vez esto está mal
... como está mal por "x" motivos (ej.: el campo de tu tabla no se llama así), queda el null por defecto, solo es una posibilidad más, puede haber otras, por eso es necesario el debug, saludos