Other Ben:
We may have to agree to disagree. Since version 2.2 the
servlet spec has been pushing the concept of self-contained, pluggable applications. Other than resources managed by the container, a web app should be packed with everything it needs to run. There should be no unnecessary reliance on outside dependencies.
The following is an exerpt from an article written by Jason Hunter (whom I think we all can agree is widely recognized as an authority in the field).
Source:
http://www.javaworld.com/javaworld/jw-10-1999/jw-10-servletapi_p.html <excerpt>
Web applications
Java Servlet API 2.2 includes one new feature so significant it may change the way the Web works. That feature: Web applications. A Web application, as defined in the servlet specification, is a collection of servlets, JavaServer Pages (JSPs), HTML documents, images, and other Web resources that are set up in such a way as to be portably deployed across any servlet-enabled Web server. Installing a Web app is simple. Gone are the days of detailed instruction sheets telling you how to install third-party Web components, with different instructions for each type of Web server. With Web apps, the entire application can be contained in a single archive file and deployed by placing the file into a specific directory.
</excerpt>
All this being said, I do have to admit that, except for some limited cases, using a Java database like hsql, you're always going to have to do some configuration to connect your app to a database and driver versioning is a double edged sword that cut into both of our arguments. I could pack a driver that is incompatible with the version of the RDBMS, you could have the wrong version (or multiple versions) in common/lib. Still, I think the principal of self-contained apps is a good one and I would rather err in that direction.
-Ben
[ January 22, 2005: Message edited by: Ben Souther ]