// 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;-

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