O'Reilly logo

Java Servlet & JSP Cookbook by Bruce W. Perry

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 21. Accessing Databases

Introduction

If you are a Java web developer who has never written database-related code, I have some advice for you: don’t hold your breath until you receive this type of assignment!

These recipes show you how to access a database resource by using a Java Naming and Directory Interface (JNDI) lookup, which is the most efficient (and probably the most common) method of accessing database resources in a portable manner. JNDI is a Java API that is designed to store objects in a hierarchical tree structure, similar to a filesystem composed of directories, subdirectories, and files. Servlets and JSPs can then use the methods of the JNDI API (shown by several examples in this chapter) to obtain references from Java objects, such as JavaBeans, and use them in their programs.

For database code, this usually means javax.sql.DataSource objects, which are factories for database connections. The DataSources provide “connection pools,” another very important web database tool. Connection pools are groups of database connections shared by servlets, JSPs, and other classes. Application servers such as WebLogic usually allow you to determine how many connections are stored in the pool, which database table can be used by the server to automatically test a connection to determine if it is fit to be returned to the shared pool, and other pool properties.

These recipes explain the basics of setting up a connection pool on both Tomcat and WebLogic.

The recipes also cover ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required