Servlets Java

/*
Java Programming with Oracle JDBC
by Donald Bales 
ISBN: 059600088X
Publisher: O'Reilly
*/
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.UnavailableException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class TransactionConnectionServlet extends HttpServlet {
  public void init(ServletConfig config) throws ServletException {
    super.init(config);
    try {
      // load the driver
      Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
    } catch (ClassNotFoundException e) {
      throw new UnavailableException(
          "TransactionConnection.init() ClassNotFoundException: "
              + e.getMessage());
    } catch (IllegalAccessException e) {
      throw new UnavailableException(
          "TransactionConnection.init() IllegalAccessException: "
              + e.getMessage());
    } catch (InstantiationException e) {
      throw new UnavailableException(
          "TransactionConnection.init() InstantiationException: "
              + e.getMessage());
    }
  }
  public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws IOException, ServletException {
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    out.println("");
    out.println("");
    out.println("A Per Transaction Connection");
    out.println("");
    out.println("");
    Connection connection = null;
    try {
      // establish a connection
      connection = DriverManager.getConnection(
          "jdbc:oracle:thin:@dssw2k01:1521:orcl", "scott", "tiger");
    } catch (SQLException e) {
      throw new UnavailableException(
          "TransactionConnection.init() SQLException: "
              + e.getMessage());
    }
    Statement statement = null;
    ResultSet resultSet = null;
    String userName = null;
    try {
      // test the connection
      statement = connection.createStatement();
      resultSet = statement
          .executeQuery("select initcap(user) from sys.dual");
      if (resultSet.next())
        userName = resultSet.getString(1);
    } catch (SQLException e) {
      out.println("TransactionConnection.doGet() SQLException: "
          + e.getMessage() + "

");
    } finally {
      if (resultSet != null)
        try {
          resultSet.close();
        } catch (SQLException ignore) {
        }
      if (statement != null)
        try {
          statement.close();
        } catch (SQLException ignore) {
        }
    }
    if (connection != null) {
      // close the connection
      try {
        connection.close();
      } catch (SQLException ignore) {
      }
    }
    out.println("Hello " + userName + "!

");
    out.println("You're using a per transaction connection!

");
    out.println("");
    out.println("");
  }
  public void doPost(HttpServletRequest request, HttpServletResponse response)
      throws IOException, ServletException {
    doGet(request, response);
  }
}