Look at my first reply to this question.
If the NPE is being thrown on a line that contains only a rs.next() statement, then the problem isn't that the resultSet is returning nothing.
It's that the resultSet variable "rs" is null.
This means that your problem is happening before you get to that line.
You've got print statements in all of your catch blocks.
I suggest you clear all of your logs, run it again until it breaks and go through them to see what else is being thrown before you try to call rs.next().
If I had to take a wild guess it would be that the app can't find your
JDBC driver.
You might want to do something more in your catch block than just log errors.
If you can't make the database call, your app should be dying before you try to read from the resultSet.