This week's giveaway is in the EJB and other Java EE Technologies forum. We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line! See this thread for details.
I would go with the application->servlet->DB route. Like Lester mentioned, there is no difference between JNLP apps and Applets, effectively its just a thick client.
However, if you use the servlet, you can store the DB credentials as a properties file under your WEB-INF on the server. In case you need to change the DB credentials or switch the DB, all you need to do is update the server side properties without having all the clients update their application.