Friday, 1 May 2015

JDBC|Servlets : Tomcat C3PO Connection Pooling - Oracle

Click here to watch in Youtube : https://www.youtube.com/watch?v=Jkkd9qSuock&list=UUhwKlOVR041tngjerWxVccw&index=1

Click the below Image to Enlarge
JDBC|Servlets : Tomcat C3PO Connection Pooling - Oracle
JDBC|Servlets : Tomcat C3PO Connection Pooling - Oracle
JDBC|Servlets : Tomcat C3PO Connection Pooling - Oracle
JDBC|Servlets : Tomcat C3PO Connection Pooling - Oracle
JDBC|Servlets : Tomcat C3PO Connection Pooling - Oracle
JDBC|Servlets : Tomcat C3PO Connection Pooling - Oracle
JDBC|Servlets : Tomcat C3PO Connection Pooling - Oracle
JDBC|Servlets : Tomcat C3PO Connection Pooling - Oracle
JDBC|Servlets : Tomcat C3PO Connection Pooling - Oracle
JDBC|Servlets : Tomcat C3PO Connection Pooling - Oracle
JDBC|Servlets : Tomcat C3PO Connection Pooling - Oracle
JDBC|Servlets : Tomcat C3PO Connection Pooling - Oracle

EmployeeInfoServlet.java
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.sql.DataSource;

public class EmployeeInfoServlet extends HttpServlet
{

    private static final long serialVersionUID = 1L;

    DataSource                dataSource       = null;

    public void init( ServletConfig config )
    {
        try
        {

            System.out
                    .println("-----------------------------------------------------");
            System.out
                    .println("init method has been called and servlet is initialized");

            /*
             * Using JDNI lookup get the DataSource.
             */

            Context initContext = new InitialContext();
            Context envContext = (Context) initContext.lookup("java:/comp/env");
            dataSource = (DataSource) envContext.lookup("jdbc/HRDB");

            System.out.println("Using JDNI lookup got the DataSource : "
                    + dataSource);

            System.out
                    .println("-----------------------------------------------------");
        }

        catch( Exception exe )
        {
            exe.printStackTrace();
        }

    }

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

        System.out
                .println("-----------------------------------------------------");
        System.out.println("doGet method has been called");
        System.out
                .println("-----------------------------------------------------");

        response.setContentType("text/html");

        PrintWriter out = response.getWriter();
        String title = "Employee Information From Oracle Database";
        out.print("<html><body bgcolor=\"#f0f0f0\">");
        out.print("<h1 align=\"center\">" + title + "</h1>\n");

        showEmployeeInformation(out);

        out.print("</body></html>");
    }

    public void destroy()
    {
        System.out
                .println("-----------------------------------------------------");
        System.out
                .println("destroy method has been called and servlet is destroyed");
        System.out
                .println("-----------------------------------------------------");
    }

    private void showEmployeeInformation( PrintWriter out )
    {
        Connection connection = null;
        Statement stmt = null;
        try
        {

            /*
             * Get connection from the DataSource
             */

            connection = dataSource.getConnection();

            /*
             * Execute the Query
             */

            stmt = connection.createStatement();
            String sql = "select employee_id,first_name,last_name,email,phone_number from employees";
            ResultSet rs = stmt.executeQuery(sql);

            /*
             * Iterate the ResultSet and get each row Information.
             */
            while( rs.next() )
            {
                /*
                 * Retrieve by column name
                 */
                int id = rs.getInt("employee_id");
                String firstName = rs.getString("first_name");
                String lastName = rs.getString("last_name");
                String email = rs.getString("email");
                String phoneNumber = rs.getString("phone_number");

                /*
                 * Display values
                 */
                out.print("employee_id: " + id+"<br>");
                out.print("first_name: " + firstName+"<br>");
                out.print("last_name: " + lastName+"<br>");
                out.print("email: " + email+"<br>");
                out.println("phone_number: " + phoneNumber+"<br>");
                out.println("-------------------------------------------");
            }
            rs.close();

        }

        catch( Exception e )
        {
            e.printStackTrace();
        }
        finally
        {
            /*
             * finally block used to close resources
             */
            try
            {
                if( stmt != null )
                {
                    stmt.close();
                }
            }
            catch( SQLException sqlException )
            {
                sqlException.printStackTrace();
            }
            try
            {
                if( connection != null )
                {
                    connection.close();
                }
            }
            catch( SQLException sqlException )
            {
                sqlException.printStackTrace();
            }
        }

    }

}
web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns="http://java.sun.com/xml/ns/javaee"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    metadata-complete="true" version="3.0">
    <display-name>EmployeeInfoDemo</display-name>
    <description>
        This is a simple web application with a source code organization
        based on the recommendations of the Application Developer's Guide.
    </description>
    <servlet>
        <servlet-name>employeeInfoServlet</servlet-name>
        <servlet-class>EmployeeInfoServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>employeeInfoServlet</servlet-name>
        <url-pattern>/employeeInfo</url-pattern>
    </servlet-mapping>

    <resource-ref>
        <description>DB Connection</description>
        <res-ref-name>jdbc/HRDB</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>

</web-app>
index.html
<!DOCTYPE HTML><html lang="en"><head>
<meta charset="UTF-8">
<title>Employee Information</title>
</head>
<body>
<p>
<h3>Employee Information</H3>
<p></p>
<ul>

<li><a href="employeeInfo">Show Employee Information</a></li>

</ul>
</body></html>

To Download EmployeeInfoDemoTomcatC3POOracleApp Project Click the below link

https://drive.google.com/file/d/1bnBxzVhyizv_f03BgFrSrSZPhbArVtFB/view

External Links:

Download the latest c3p0-{version}.jar from :  http://sourceforge.net/projects/c3p0/

See also:
  • All JavaEE Viedos Playlist
  • All JavaEE Viedos
  • Servlets Tutorial
  • All Design Patterns Links
  • JDBC Tutorial
  • Java Collection Framework Tutorial
  • 1 comment:

    1. Kocanız/Karınız aniden boşanmak istediğini söyledi ve siz ikinizin geri dönüp mutlu bir aile kurmanızı mı istiyorsunuz? O halde aramayı bırakın, çünkü büyük büyü ustası Dr. White'ın sizin için bir çözümü var. Meslek olarak bankacıyım, 8 yıllık evliliğim çöktüğünde bu benim kalbimi kırdı ve hatta işimi bile etkiledi çünkü sürekli düşünüyordum ve konsantre değildim. Kocamı gerçekten seviyorum, bu yüzden yaklaşık 7 ay ayrı yaşadıktan sonra onu geri kazanmanın yollarını arıyorum. Büyük büyü tekeri Dr White'ın yardımıyla bir iş terfisi almayı başardığını söyleyen bir adam hakkında bir ifadeye rastladım, bu yüzden onunla temasa geçtim, evlilik sorunlarımı açıkladım ve bana her şeyin benim için daha iyi olacağına dair güvence verdi. , ama amacıma ulaşmak için yapılması gereken birkaç şey söyledim, talimatları izledim ve bugün kocamla tekrar mutlu bir şekilde yaşıyorum, o gerçekten harika bir adam ve tanrıları tarafından kutsanmış. Her türlü yaşam sorununuz için Beyaz Doktor ile WhatsApp numarasından iletişime geçin:
      +17168691327
      veya e-posta ile: wightmagicmaster@gmail.com, onunla tanıştığınıza pişman olmayacaksınız.

      ReplyDelete