Mega Code Archive

 
Categories / Java / Servlets
 

Transaction Connection Servlet

/* 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("<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);   } }