Sunday, 25 November 2012

J2ee tutorial part 8 ;- Filter concept in j2ee

// Filter concept in j2ee with example

Step1 :- Create a Dynamic web Project

Step 2 :- Create a filter with name MicroPaymentFilter as given bellow

package web.prac;

import java.io.*;

import javax.servlet.*;
import javax.servlet.http.*;

/**
 * Using a filter to suffix information to a servlet response.
 */
public class MicroPaymentFilter implements Filter {

    public void init(FilterConfig config) throws ServletException {
    }

    public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain) throws IOException, ServletException {

        HttpServletRequestWrapper reqWrapper = new HttpServletRequestWrapper(
                (HttpServletRequest) request);
        String referrerName = reqWrapper.getPathInfo().substring(1);
        if (referrerName != null) {
            System.out.println("Micropayment made to " + referrerName);
            reqWrapper.setAttribute("referrer", referrerName);
        }
        chain.doFilter(reqWrapper, response);//calling the consequitive servlet
        PrintWriter out = response.getWriter();
        out.write("<BR />0.0001c has been paid to referrer " + referrerName);
    }

    public void destroy() {
    }

}

Step3 :- Create a servlet which will be called after filter asgive bellow

package web.prac;

import java.io.*;

import javax.servlet.*;
import javax.servlet.http.*;

/**
 * A servlet which reflects back details of the agent
 * referring you to the servlet.
 **/
public class MicroPaymentServlet extends HttpServlet {

    protected void doGet(HttpServletRequest request,
            HttpServletResponse response) throws ServletException, IOException {
       
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.write("<HTML><HEAD><TITLE>Sponsor Visit</TITLE></HEAD><BODY>");
       
        out.write("<H1>Thank you for visiting this page!!!</H1>");
       
        String referrer = (String) request.getAttribute("referrer");
        if (referrer != null) {
            out.write("<BR />Your were referred to this page by " + referrer + "</B>");
        }
       
       
        out.write("</BODY></HTML>");
        out.flush();
    }
}

Step 4 :- Declare the servlet,filter and map them as given bellowin web.xml

<?xml version="1.0" ?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee   
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

   
    <servlet>
      <servlet-name>MicroPaymentServlet</servlet-name>
      <servlet-class>web.prac.MicroPaymentServlet</servlet-class>
    </servlet>
    <servlet-mapping>
      <servlet-name>MicroPaymentServlet</servlet-name>
      <url-pattern>/MicroPayment/*</url-pattern>
    </servlet-mapping>

    <filter>
      <filter-name>MicroPaymentFilter</filter-name>
      <filter-class>web.prac.MicroPaymentFilter</filter-class>
    </filter>
    <filter-mapping>
      <filter-name>MicroPaymentFilter</filter-name>
      <servlet-name>MicroPaymentServlet</servlet-name>
    </filter-mapping>

   
</web-app>

 Step 5 :- clean build the project and then run it

Output;-





No comments:

Post a Comment

Custom single threaded java server

 package com.diffengine.csv; import java.io.*; import java.net.*; import java.util.Date; public class Server { public static void main(Str...