Thursday 24 April 2014

Servlets : Filter Config Demo


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

Click the below Image to Enlarge
Servlets : Filter Config Demo

FilterConfigDemo Project Dir Structure
Servlets : Filter Config Demo

MyFilter.java
import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class MyFilter implements Filter
{
 FilterConfig config;

 public void init(FilterConfig config) throws ServletException
 {
  System.out
          .println("------------------------------------------------------");
  System.out.println(" init method is called in "
          + this.getClass().getName());
  System.out
          .println("------------------------------------------------------");

  this.config = config;
 }

 public void doFilter(ServletRequest req, ServletResponse resp,
         FilterChain chain) throws IOException, ServletException
 {

  PrintWriter out = resp.getWriter();

  String filterName = config.getFilterName();

  System.out.println("Filter Name : " + filterName + "\n");

  String isConstruction = config.getInitParameter("construction");

  if (isConstruction.equals("yes"))
  {
   out.print("This page is under construction");
  }
  else
  {
   /** sends request to next resource */
   chain.doFilter(req, resp);
  }

 }

 public void destroy()
 {
  // add code to release any resource
  System.out
          .println("------------------------------------------------------");
  System.out.println(" destroy method is called in "
          + this.getClass().getName());
  System.out
          .println("------------------------------------------------------");
 }
}
HelloServlet.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;

public class HelloServlet 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
 {

  System.out.println(" doGet method is called in "
          + this.getClass().getName() + "\n\n");
  System.out
          .println("------------------------------------------------------");

  response.setContentType("text/html");
  PrintWriter out = response.getWriter();

  out.print("<br>welcome to helloservlet<br>");

 }

 public void destroy()
 {
  System.out
          .println("------------------------------------------------------");
  System.out.println(" destroy method is called in "
          + this.getClass().getName());
  System.out
          .println("------------------------------------------------------");
 }

}
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>FilterConfigDemo</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>HelloServlet</servlet-name>
  <servlet-class>HelloServlet</servlet-class>
 </servlet>
 <servlet-mapping>
  <servlet-name>HelloServlet</servlet-name>
  <url-pattern>/hello</url-pattern>
 </servlet-mapping>
 <filter>
  <filter-name>myfilter</filter-name>
  <filter-class>MyFilter</filter-class>
  <init-param>
   <param-name>construction</param-name>
   <param-value>yes</param-value>
  </init-param>
 </filter>
 <filter-mapping>
  <filter-name>myfilter</filter-name>
  <url-pattern>/hello</url-pattern>
 </filter-mapping>
</web-app>
index.html
<!DOCTYPE HTML><html lang="en"><head>
<meta charset="UTF-8">
<title>FilterConfigDemo</title>
</head>
<body>
<p>
<h3>FilterConfigDemo</H3>
<p></p>
<ul>
<li><a href="hello">FilterConfigDemo</a></li>

</ul>
</body></html>
Environment Used 

JDK version :1.6.0_30
Tomcat version : 7.0.50 

To Download FilterConfigDemoApp Project Click the below link

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

See also:

  • Servlets Tutorial
  • All Design Patterns Links
  • Wednesday 23 April 2014

    Servlets : Send Redirect vs. Forward


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

    Click the below Image to Enlarge
    Servlets : Send Redirect vs. Forward

    Servlets : Send Redirect vs. Forward

    Servlets : Send Redirect vs. Forward

    See also:

  • Servlets Tutorial
  • All Design Patterns Links
  • Servlets : Authentication Filter


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

    Click the below Image to Enlarge
    Servlets : Authentication Filter

    AuthenticationFilterDemo Project Dir Structure

    Servlets : Authentication Filter
    AuthenticationFilter.java
    import java.io.IOException;
    import java.io.PrintWriter;
    
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    
    public class AuthenticationFilter implements Filter
    {
    
     public void init(FilterConfig config) throws ServletException
     {
      System.out
              .println("------------------------------------------------------");
      System.out.println(" init method is called in "
              + this.getClass().getName());
      System.out
              .println("------------------------------------------------------");
     }
    
     public void doFilter(ServletRequest request, ServletResponse response,
             FilterChain chain) throws IOException, ServletException
     {
    
      System.out.println(" doFilter method is called in "
              + this.getClass().getName() + "\n\n");
    
      PrintWriter out = response.getWriter();
    
      String username = request.getParameter("username");
      String password = request.getParameter("password");
      if (username.equals("admin") && password.equals("admin"))
      {
       // sends request to next resource
       chain.doFilter(request, response);
      }
      else
      {
       out.print("username or password is not correct!");
    
      }
     }
    
     public void destroy()
     {
      // add code to release any resource
      System.out
              .println("------------------------------------------------------");
      System.out.println(" destroy method is called in "
              + this.getClass().getName());
      System.out
              .println("------------------------------------------------------");
     }
    }
    
    HelloServlet.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;
    
    public class HelloServlet 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
     {
    
      System.out.println(" doGet method is called in "
              + this.getClass().getName() + "\n\n");
      System.out
              .println("------------------------------------------------------");
    
      response.setContentType("text/html");
      PrintWriter out = response.getWriter();
    
      out.print("<br>welcome to helloservlet<br>");
    
     }
    
     public void destroy()
     {
      System.out
              .println("------------------------------------------------------");
      System.out.println(" destroy method is called in "
              + this.getClass().getName());
      System.out
              .println("------------------------------------------------------");
     }
    
    }
    
    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>AuthenticationFilterDemo</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>HelloServlet</servlet-name>
      <servlet-class>HelloServlet</servlet-class>
     </servlet>
     <servlet-mapping>
      <servlet-name>HelloServlet</servlet-name>
      <url-pattern>/hello</url-pattern>
     </servlet-mapping>
     <filter>
      <filter-name>AuthFilter</filter-name>
      <filter-class>AuthenticationFilter</filter-class>
     </filter>
     <filter-mapping>
      <filter-name>AuthFilter</filter-name>
      <url-pattern>/hello</url-pattern>
     </filter-mapping>
    </web-app>
    
    index.html
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>AuthenticationFilter Demo</title>
    </head>
    <body>
     <form action="hello" method="GET">
      
      UserName :  <input type="text" name="username" /><br /> 
      
      Password :&nbsp; &nbsp; <input type="password" name="password" /><br /> 
       
      <input type="submit" value="login" />
      
     </form>
    </body>
    </html>
    
    Environment Used 

    JDK version :1.6.0_30
    Tomcat version : 7.0.50

    To Download AuthenticationFilterDemoApp Project Click the below link
    https://sites.google.com/site/javaee4321/servlets/AuthenticationFilterDemoApp.zip?attredirects=0&d=1

    See also:

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


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

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

  • Servlets Tutorial
  • All Design Patterns Links
  • Servlets : Filter Config


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

    Click the below Image to Enlarge
    Servlets : Filter Config
    Servlets : Filter Config
    Servlets : Filter Config
    See also:

  • Servlets Tutorial
  • All Design Patterns Links
  • Saturday 19 April 2014

    Servlets : Send Redirect Introduction


    Click here to watch in Youtube : https://www.youtube.com/watch?v=8qTinfs-u1c

    Click the below Image to Enlarge
    Send Redirect Introduction
    Send Redirect Introduction
    Send Redirect Introduction
    See also:

  • Servlets Tutorial
  • All Design Patterns Links
  • Servlets : Filter Interface


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

    Click the below Image to Enlarge
    Servlets : Filter Interface
    Servlets : Filter Interface
    See also:

  • Servlets Tutorial
  • All Design Patterns Links
  • Thursday 17 April 2014

    Servlets Filter Lifecycle


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

    Click the below Image to Enlarge

    See also:

  • Servlets Tutorial
  • All Design Patterns Links
  • Servlet Filter Introduction


    Click here to watch in Youtube : https://www.youtube.com/watch?v=LInemFmF-8E

    Click the below Image to Enlarge



    See also:

  • Servlets Tutorial
  • All Design Patterns Links
  • Servlets : RequestDispatcher Example


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

    Click the below Image to Enlarge


    RequestDispatcherDemo Project Dir Structure

    LoginServlet.java
    import java.io.IOException;
    import java.io.PrintWriter;
    
    import javax.servlet.RequestDispatcher;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    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 doPost(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException
     {
      response.setContentType("text/html");
      PrintWriter out = response.getWriter();
    
      String userName = request.getParameter("username");
      String passWord = request.getParameter("password");
    
      if (userName.equalsIgnoreCase("ram") && passWord.equals("ram"))
      {
       RequestDispatcher requestDispatcher = request
               .getRequestDispatcher("/welcome");
       requestDispatcher.forward(request, response);
      }
      else
      {
       out.print("Sorry UserName or Password is Wrong!");
       RequestDispatcher requestDispatcher = request
               .getRequestDispatcher("/index.html");
       requestDispatcher.include(request, response);
      }
     }
    
     public void destroy()
     {
      System.out
              .println("------------------------------------------------------");
      System.out.println(" destroy method is called in "
              + this.getClass().getName());
      System.out
              .println("------------------------------------------------------");
     }
    }
    
    WelcomeServlet.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;
    
    public class WelcomeServlet 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 doPost(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException
     {
    
      response.setContentType("text/html");
      PrintWriter out = response.getWriter();
    
      String userName = request.getParameter("username");
      out.print("Welcome " + userName);
     }
    
     public void destroy()
     {
      System.out
              .println("------------------------------------------------------");
      System.out.println(" destroy method is called in "
              + this.getClass().getName());
      System.out
              .println("------------------------------------------------------");
     }
    }
    
    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>RequestDispatcherDemo</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>WelcomeServlet</servlet-name>
      <servlet-class>WelcomeServlet</servlet-class>
     </servlet>
    
    
     <servlet-mapping>
      <servlet-name>LoginServlet</servlet-name>
      <url-pattern>/login</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
      <servlet-name>WelcomeServlet</servlet-name>
      <url-pattern>/welcome</url-pattern>
     </servlet-mapping>
     
    </web-app>
    
    index.html
    <!DOCTYPE HTML>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>RequestDispatcherDemo</title>
    </head>
    <body>
     <form action="login" method="post">
      
      UserName :  <input type="text" name="username" /><br /> 
      
      Password :&nbsp; &nbsp; <input type="password" name="password" /><br /> 
       
      <input type="submit" value="login" />
      
     </form>
    </body>
    </html>
    
    Environment Used

    JDK version :1.6.0_30
    Tomcat version : 7.0.50

    To Download RequestDispatcherDemoApp Project Click the below link
    https://sites.google.com/site/javaee4321/servlets/RequestDispatcherDemoApp.zip?attredirects=0&d=1

    See also:

  • Servlets Tutorial
  • All Design Patterns Links