Servlet Java Tutorial

/**
*  Copyright (c) 2002 by Phil Hanna
*  All rights reserved.
*  
*  You may study, use, modify, and distribute this
*  software for any purpose provided that this
*  copyright notice appears in all copies.
*  
*  This software is provided without warranty
*  either expressed or implied.
*/
import java.io.*;
import java.net.*;
import java.sql.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
/**
* Returns the list of the most popular flavors
*/
public class FlavorListServlet extends HttpServlet
{
   public static final String JDBC_DRIVER =
      "com.mysql.jdbc.Driver";
   public static final String URL =
      "jdbc:mysql://localhost/IceCream";
   public void doGet(
         HttpServletRequest request,
         HttpServletResponse response)
      throws ServletException, IOException
   {
      PrintWriter out = response.getWriter();
      response.setContentType("text/html");
      // Get the bounds of the ranks to be listed
      // or use defaults
      int lowLimit = getLimit(request.getParameter("lowLimit"), 0);
      int highLimit = getLimit(request.getParameter("highLimit"), 100);
      Connection con = null;
      try {
         
         // Connect to the ice cream database
         Class.forName(JDBC_DRIVER);
         con = DriverManager.getConnection(URL);
         // Run a query to get the top flavors
         String sql =
            "SELECT  RANK, NAME"
            + "   FROM flavors"
            + "   WHERE RANK BETWEEN ? AND ?"
            + "   ORDER BY RANK" ;
         PreparedStatement pstmt = con.prepareStatement(sql);
         pstmt.setInt(1, lowLimit);
         pstmt.setInt(2, highLimit);
         ResultSet rs = pstmt.executeQuery();
         // Print as an ordered list
         out.println("
    ");
             while (rs.next()) {
                int rank = rs.getInt(1);
                String name = rs.getString(2);
                out.println("   
  1. " + name + "
  2. ");
             }
             out.println("
");
      }
      catch (SQLException e) {
         throw new ServletException(e.getMessage());
      }
      catch (ClassNotFoundException e) {
         throw new ServletException(e.getMessage());
      }
      // Close the database
      finally {
         if (con != null) {
            try { con.close(); }
            catch (SQLException ignore) {}
         }
      }
   }
   /**
   * Subroutine to get the integer value of one of
   * the limit parameters.
   * @param parm the parameter value, which may be null
   * @param defaultValue the default value
   */
   private static int getLimit(String parm, int defaultValue)
   {
      int limit = defaultValue;
      if (parm != null) {
         try {
            limit = Integer.parseInt(parm);
         }
         catch (NumberFormatException ignore) {
         }
      }
      return limit;
   }
}