Java tutorial
/* 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); } }