Saturday 28 June 2014

JDBC Tutorial

JDBC : Steps to Connect to the Database


















Click here to watch in Youtube : https://www.youtube.com/watch?v=JCtOzn1r2MY

Click the below Image to Enlarge
JDBC : Steps to Connect to the Database
JDBC : Steps to Connect to the Database
JDBC : Steps to Connect to the Database
JDBC : Steps to Connect to the Database
JDBC : Steps to Connect to the Database
JDBC : Steps to Connect to the Database
See also:

  • Servlets Tutorial
  • All Design Patterns Links
  • JDBC Tutorial
  • Servlets : HTTP Status Codes



















    Click here to watch in Youtube : https://www.youtube.com/watch?v=P9_prhLXDbQ

    Click the below Image to Enlarge
    HTTP Status Codes
    HTTP Status Codes
    HTTP Status Codes
    HTTP Status Codes
    HTTP Status Codes
    HTTP Status Codes

    See also:

  • Servlets Tutorial
  • All Design Patterns Links
  • Servlets : SingleThreadModel
























    Click here to watch in Youtube : https://www.youtube.com/watch?v=b0P6e53jIcM

     Click the below Image to Enlarge
    SingleThreadModel
    SingleThreadModel
    See also:

  • Servlets Tutorial
  • All Design Patterns Links
  • Servlets : Hidden Form Field


















    Click here to watch in Youtube : https://www.youtube.com/watch?v=nbLc7e7EJiI

    Click the below Image to Enlarge

    See also:

  • Servlets Tutorial
  • All Design Patterns Links
  • Servlets : URL Rewriting



















    Click here to watch in Youtube : https://www.youtube.com/watch?v=HnjvCnrHkmk

    Click the below Image to Enlarge

    See also:

  • Servlets Tutorial
  • All Design Patterns Links
  • Sunday 22 June 2014

    Saturday 21 June 2014

    Servlets : HttpSession Listener Demo [Count logged in Users]



















    Click here to watch in Youtube : https://www.youtube.com/watch?v=fv8Idtevcg0

    Click the below Image to Enlarge

    HttpSessionListenerDemo Project Dir Structure

    LoginServlet.java
    import java.io.IOException;
    import java.io.PrintWriter;
    
    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    public class LoginServlet extends HttpServlet
    {
        
        private static final long serialVersionUID = 1L;
    
        public void init() throws ServletException
        {
            System.out.println("-----------------------------------------");
            System.out.println(" Init method is called in "
                    + this.getClass().getName());
            System.out.println("--------------------------------------");
        }
        
        public void doGet( HttpServletRequest request, HttpServletResponse response )
                throws ServletException, IOException
        {
    
            response.setContentType("text/html");
            PrintWriter out = response.getWriter();
    
            String userName = request.getParameter("username");
            out.print("Welcome " + userName);
    
            HttpSession session = request.getSession();
            session.setAttribute("uname", userName);
    
            ServletContext ctx = getServletContext();
            int totalUsers = (Integer) ctx.getAttribute("totalusers");
            int currentUsers = (Integer) ctx.getAttribute("currentusers");
            
            out.print("<br>total users= " + totalUsers);
            out.print("<br>current users= " + currentUsers);
    
            out.print("<br><a href='logout'>logout</a>");
    
            out.close();
        }
        
        public void destroy()
        {
            System.out.println("-----------------------------------------");
            System.out.println(" destroy method is called in "
                    + this.getClass().getName());
            System.out.println("-----------------------------------------");
        }
    
    }
    
    

    LogoutServlet.java
    import java.io.IOException;
    import java.io.PrintWriter;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    public class LogoutServlet extends HttpServlet
    {
    
        private static final long serialVersionUID = 1L;
    
        public void doGet( HttpServletRequest request, HttpServletResponse response )
                throws ServletException, IOException
        {
    
            response.setContentType("text/html");
            PrintWriter out = response.getWriter();
    
            HttpSession session = request.getSession(false);
            session.invalidate();
    
            out.print("You are successfully logged out");
    
            out.close();
        }
    
    }
    
    

    CountUserListener.java
    import javax.servlet.ServletContext;
    import javax.servlet.http.HttpSessionEvent;
    import javax.servlet.http.HttpSessionListener;
    
    public class CountUserListener implements HttpSessionListener
    {
        ServletContext ctx = null;
        static int     totalUserCount = 0, currentUserCount = 0;
    
        public void sessionCreated( HttpSessionEvent httpSessionEvent )
        {
            System.out.println("sessionCreated method has been called in "
                    + this.getClass().getName());
    
            
            totalUserCount++;
            currentUserCount++;
    
            ctx = httpSessionEvent.getSession().getServletContext();
            
            ctx.setAttribute("totalusers", totalUserCount);
            ctx.setAttribute("currentusers", currentUserCount);
    
        }
    
        public void sessionDestroyed( HttpSessionEvent httpSessionEvent )
        {
            
            System.out.println("sessionDestroyed method has been called in "
                    + this.getClass().getName());       
            currentUserCount--;
            ctx.setAttribute("currentusers", currentUserCount);
        }
    
    }
    
    

    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>HttpSessionListenerDemo</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>LoginServlet</servlet-name>
            <servlet-class>LoginServlet</servlet-class>
        </servlet>
        
        <servlet>
            <servlet-name>LogoutServlet</servlet-name>
            <servlet-class>LogoutServlet</servlet-class>
        </servlet>
    
    
        <servlet-mapping>
            <servlet-name>LoginServlet</servlet-name>
            <url-pattern>/login</url-pattern>
        </servlet-mapping>
        
        <servlet-mapping>
            <servlet-name>LogoutServlet</servlet-name>
            <url-pattern>/logout</url-pattern>
        </servlet-mapping>
    
    
        <listener>
            <listener-class>CountUserListener</listener-class>
        </listener>
        
    </web-app>
    

    index.html
    <form action="login">
        Name:<input type="text" name="username"><br> 
        
        Password:<input type="password" name="password"><br> 
        
        <input type="submit" value="login" />
        
    </form>
    

    Environment Used 

    JDK version :1.7.0_51
    Tomcat version : 7.0.50 

    To Download HttpSessionListenerCountUserDemoApp Project Click the below link

    https://sites.google.com/site/javaee4321/servlets/HttpSessionListenerCountUserDemoApp.zip?attredirects=0&d=1

    See also:

  • Servlets Tutorial
  • All Design Patterns Links
  • Servlets Listeners



















    Click here to watch in Youtube : https://www.youtube.com/watch?v=7NtVn1_TSAg

    Click the below Image to Enlarge
    Servlets Listeners
    Servlets Listeners
    See also:

  • Servlets Tutorial
  • All Design Patterns Links
  • Servlets : HttpSessionBindinglistener Demo




















    Click here to watch in Youtube : https://www.youtube.com/watch?v=DquotVucWWQ

    Click the below Image to Enlarge

    HttpSessionBindingListenerDemo Project Dir Structure

    HttpSessionAttributeTestServlet.java
    import java.io.IOException;
    import java.io.PrintWriter;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    
    public class HttpSessionAttributeTestServlet extends HttpServlet
    {
        private static final long serialVersionUID = 1L;
    
        public void init() throws ServletException
        {
            System.out.println("-----------------------------------------");
            System.out.println(" Init method is called in "
                    + this.getClass().getName());
            System.out.println("--------------------------------------");
        }
    
        public void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException
        {
            response.setContentType("text/html");
            PrintWriter out = response.getWriter();
    
            HttpSession httpSession = request.getSession();
    
            sleep();
    
            User user = new User("Ram", 43);
            httpSession.setAttribute("userinfo", user);
    
            sleep();
    
            httpSession.invalidate();
    
            out.println("This is the example of HttpSessionBindingListener");
    
        }
    
        private void sleep()
        {
            try
            {
                Thread.sleep(10000);
            }
            catch (InterruptedException e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    
        public void destroy()
        {
            System.out.println("-----------------------------------------");
            System.out.println(" destroy method is called in "
                    + this.getClass().getName());
            System.out.println("-----------------------------------------");
        }
    
    }
    

    User.java
    import javax.servlet.http.HttpSessionBindingEvent;
    import javax.servlet.http.HttpSessionBindingListener;
    
    public class User implements HttpSessionBindingListener
    {
    
        private String name;
        private int age;
    
        public User(String name, int age)
        {
            super();
            this.name = name;
            this.age = age;
        }
    
        public User(String name)
        {
            this.name = name;
        }
    
        public String getName()
        {
            return name;
        }
    
        public void setName(String name)
        {
            this.name = name;
        }
    
        public int getAge()
        {
            return age;
        }
    
        public void setAge(int age)
        {
            this.age = age;
        }
    
        @Override
        public void valueBound(HttpSessionBindingEvent httpSessionBindingEvent)
        {
            System.out.println("\n###################################\n");
    
            System.out.println("valueBound method has been called in "
                    + this.getClass().getName());
    
            System.out.println("Added/Replaced Attribute Name ="
                    + httpSessionBindingEvent.getName() + ",value = "
                    + httpSessionBindingEvent.getValue());
    
            System.out.println("\n#####################################\n");
    
            /*
             * if particular Attribute is added/replaced, based on that if you want
             * to perform any operation then you can do it here.
             */
    
        }
    
        @Override
        public void valueUnbound(HttpSessionBindingEvent httpSessionBindingEvent)
        {
            System.out.println("\n###################################\n");
    
            System.out.println("valueUnbound method has been called in "
                    + this.getClass().getName());
    
            System.out.println("Removed Attribute Name ="
                    + httpSessionBindingEvent.getName() + ",value = "
                    + httpSessionBindingEvent.getValue());
    
            System.out.println("\n#####################################\n");
    
            /*
             * if particular Attribute is removed, based on that if you want to
             * perform any operation then you can do it here.
             */
    
        }
    
        @Override
        public String toString()
        {
            return "User [name=" + name + ", age=" + age + "]";
        }
    
    }
    
    
    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>HttpSessionBindingListenerDemo</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>HttpSessionAttributeTestServlet</servlet-name>
            <servlet-class>HttpSessionAttributeTestServlet</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>HttpSessionAttributeTestServlet</servlet-name>
            <url-pattern>/listenerTest</url-pattern>
        </servlet-mapping>
    
    </web-app>
    

    index.html
    <html>
    <body>
        <a href="listenerTest">listenerTest</a>
    </body>
    </html>
    
    
    Environment Used 

    JDK version :1.7.0_51
    Tomcat version : 7.0.50 

    To Download HttpSessionBindingListenerDemoApp Project Click the below link

    https://sites.google.com/site/javaee4321/servlets/HttpSessionBindingListenerDemoApp.zip?attredirects=0&d=1

    See also:

  • Servlets Tutorial
  • All Design Patterns Links