FileDocCategorySizeDatePackage
TransactionConnectionServlet.javaAPI DocExample2901Mon Jun 18 19:02:08 BST 2001None

TransactionConnectionServlet.java

import java.io.*;
import java.sql.*;
import javax.servlet.*;
import javax.servlet.http.*;

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("<html>");
    out.println("<head>");
    out.println("<title>A Per Transaction Connection</title>");
    out.println("</head>");
    out.println("<body>");

    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() + "<p>");
    }
    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 + "!<p>");
    out.println("You're using a per transaction connection!<p>");
    out.println("</body>");
    out.println("</html>");
  }

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