What is the best way to manage a database connection in a Java servlet?
Currently, I simply open a connection in the init() function, and then close it
init()
Are you pooling your connections? If not, you probably should to reduce the overhead of opening and closing your connections.
Once that's out of the way, just keep the connection open for as long as it's need, as John suggested.