I'm amazed that the ResultSet is null; it should throw a NullPointerException. The problem is here:
That should read:
For what it's worth, I wouldn't reuse Statement objects across web requests, but instead create them for each new request. Also be aware that the JDBC/ODBC bridge driver you're using is not thread-safe, so if multiple requests come in at the same time, the will be trouble.
To confirm, the result set is null at both of these, or just the first one? We would expect it to be a null at the first println. If it is null at the second println, there is some problem with your driver.
Here if there is a problem getting a connection or a statement object, the program catches the exception and lets it proceed to the next method. This is bad programming to suppress such critical exceptions. In doPost(), your statement object may be null, which is a potential candidate for a NullPointerException to be thrown.