Rick den Haan wrote (not in this order): > I might be thinking too much along PHP's mindset here... Yeah. Not a criticism, but that's obvious from the sample code, and for the sake of future good practice, something to get over :-) > My MySQL database is called "jsp_test", in which there's a table called > "customers" which has four columns for "id", "name", "address" and "phone". > I want a JSP page that ends up listing my customers, ordered by id. I.e.: > For JSP, I have absolutely no clue where to go from what I have now. I have > an excellent Java guidebook (Y. Daniel Liang's "Introduction to Java > Programming", 5th Edition), which told me to go and download a MySQL JDBC > connector, which I did, but I don't know where to place it so that Tomcat > will be able to connect to it, nor what JSP code I have to use to connect to > it once I get it there. I don't know that I'd call a book with sample code like that given "excellent"; it's missing the whole point of JSP/Servlets and the MVC design pattern (apparently). On the other hand, correcting it will require writing another book, which I don't have time to do right now. :-) So, to your immediate connect-to-DB problem. 1) you want to use Tomcat's built-in connection pooling; put the Connector/J jar in $CATALINA_HOME/common/lib, and follow the directions here: <http://tomcat.apache.org/tomcat-5.5-doc/jndi-resources-howto.html> :: to configure your server.xml and deployment descriptor (the web.xml under your app's WEB-INF directory). 2) read the servlet spec; a lot of it won't make sense right now but it's important, and it'll grow on you :-) 3) join the tomcat-users mailing list; you'll learn a lot about JSP/Servlets, not just Tomcat-specific stuff. In practice, you never have DB access in a JSP; it's part of the presentation (View) layer, not the Model or Controller. So you're going to want to start thinking in terms of Objects. For your example, you'd create a Customer class that encapsulates the fields defining a "customer" and accesses them from your DB. Once you've got that, you can simply reference it from any page, rather than embedding SQL calls throughout the site. Or to use a popular acronym: DRY -- Don't Repeat Yourself. :-) HTH! And feel free to ask for clarification of any of the above; I'm only on my first cup of coffee... -- Hassan Schroeder ----------------------------- hassan at webtuitive.com Webtuitive Design === (+1) 408-938-0567 === http://webtuitive.com dream. code.