• google plus

How to Establish a JDBC Connection in Apache Tomcat (Linux)

Business web applications rely on databases. Therefore, you will probably be required to make a connection to your relational database during the development of a web application. Java accesses relational databases through JDBC (Java Database Connectivity). As of JDBC 2, the database is represented to Tomcat as a data source. In this topic I will discuss establishing a JDBC connection to a MySQL data source in Tomcat.

To learn how to establish a JDBC connection in Apache Tomcat, follow these 4 steps:

  1. I will present the steps using the MySQL database and sample web application we use in our Webucator Tomcat training. The database name is test and is used by the "Cool Garden Tools" web application. It contains one table, the GardenTools table. The JNDI (Java Naming and Directory Interface) name referenced in the web application is jdbc/gardentools.
  2. A resource entry is required in the Tomcat configuration. In my example, I have placed my resource element in CATALINA_BASE/conf/context.xml, e.g., /var/lib/tomcat7/conf/context.xml:
    <Resource name="jdbc/gardentools" auth="Container" type="javax.sql.DataSource"
                   maxActive="25" maxIdle="5" maxWait="5000"
                   username="root" password="mypassword" driverClassName="com.mysql.jdbc.Driver"
                   url="jdbc:mysql://localhost:3306/test"/>  
    	
    The name attribute value must match the name of the JNDI resource coded in the lookup method of a Context in the application code. The maxActive, maxIdle and maxWait are parameters for Database Connection Pool (DBCP) and specify the total connections allowed for this resource, the maximum number of idle, or unused, connections and the maximum wait time in milliseconds before throwing an exception if all connections are in use (a value of -1 indicates that the wait time is infinite), respectively. Note that the url and driverClassName are specific to database vendor. For examples of Oracle and PostgreSQL visit the Tomcat documentation for JNDI.
  3. Save context.xml and then restart Tomcat. Tomcat will make the resource available to your web application.
  4. As an example, here is the Cool Garden Tools welcome page displaying the tools from the GardenTools table:
    Cool Garden Tools welcome page
    The table displays the tool ID and description for each tool in the database.
Author: Stephen Withrow

Stephen has over 30 years' experience in training, development, and consulting in a variety of technology areas including Java, C, C++, XML, JavaScript, AJAX, Tomcat, JBoss, Oracle, and DB2. His background includes design and implementation of business solutions on client/server, Web, and enterprise platforms. Stephen is a published writer in both technical and non-technical endeavors. Stephen received an undergraduate degree in Computer Science and Physics from Florida State University.

About Webucator

Webucator provides instructor-led training to students throughout the US and Canada. We have trained over 90,000 students from over 16,000 organizations on technologies such as Microsoft ASP.NET, Microsoft Office, XML, Windows, Java, Adobe, HTML5, JavaScript, Angular, and much more. Check out our complete course catalog.