package coreservlets; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*; /** A servlet that reads information from a database and * presents it in an HTML table. It uses connection * pooling to optimize the database retrieval. A good * test case is ConnectionPool.html, which loads many * copies of this servlet into different frame cells. *
* Taken from Core Servlets and JavaServer Pages * from Prentice Hall and Sun Microsystems Press, * http://www.coreservlets.com/. * © 2000 Marty Hall; may be freely used or adapted. */ public class ConnectionPoolServlet extends HttpServlet { private ConnectionPool connectionPool; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String table; try { String query = "SELECT firstname, lastname " + " FROM employees WHERE salary > 70000"; Connection connection = connectionPool.getConnection(); DBResults results = DatabaseUtilities.getQueryResults(connection, query, false); connectionPool.free(connection); table = results.toHTMLTable("#FFAD00"); } catch(Exception e) { table = "Error: " + e; } response.setContentType("text/html"); // Prevent the browser from caching the response. See // Section 7.2 of Core Servlets and JSP for details. response.setHeader("Pragma", "no-cache"); // HTTP 1.0 response.setHeader("Cache-Control", "no-cache"); // HTTP 1.1 PrintWriter out = response.getWriter(); String title = "Connection Pool Test"; out.println(ServletUtilities.headWithTitle(title) + "
\n" + "