Filter for your Servlet
Filter is used to perform filtering tasks on the request or the response or both. It is an interface in the javax.servlet package.
Filters can be used for the following purposes:
1) Authentication Filters
2) Logging and Auditing Filters
3) Image conversion Filters
4) Data compression Filters
5) Encryption Filters
6) Tokenizing Filters
7) Filters that trigger resource access events
8) XSL/T filters
9) Mime-type chain Filter
Filters have the following three methods:

Simple example of using filter for pre and post processing of response.
This is how my project looks like:
index.html
web.xml
MyFilter.java
MyServlet.java
The output will look like this:
Filters can be used for the following purposes:
1) Authentication Filters
2) Logging and Auditing Filters
3) Image conversion Filters
4) Data compression Filters
5) Encryption Filters
6) Tokenizing Filters
7) Filters that trigger resource access events
8) XSL/T filters
9) Mime-type chain Filter
Filters have the following three methods:

Simple example of using filter for pre and post processing of response.
This is how my project looks like:
MyFilter will be applied before and after our MyServlet.
Here is the code:
index.html
<!DOCTYPE html> <html> <head> <meta charset="ISO-8859-1"> <title>Insert title here</title> </head> <body> Welcome! </body> </html>
web.xml
<web-app> <servlet> <servlet-name>myServlet</servlet-name> <servlet-class>com.filter.servlet.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>myServlet</servlet-name> <url-pattern>/myServlet</url-pattern> </servlet-mapping> <filter> <filter-name>myFilter</filter-name> <filter-class>com.filter.myFilter.MyFilter</filter-class> </filter> <filter-mapping> <filter-name>myFilter</filter-name> <url-pattern>/myServlet</url-pattern> </filter-mapping> </web-app>
MyFilter.java
package com.filter.myFilter; 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{ @Override public void destroy() { // TODO Auto-generated method stub } @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { response.setContentType("text/html"); PrintWriter pw = response.getWriter(); pw.write("Pre-processing of filter"); pw.write("<br>"); chain.doFilter(request, response); pw.write("Post-processing of filter"); pw.close(); } @Override public void init(FilterConfig arg0) throws ServletException { // TODO Auto-generated method stub } }
MyServlet.java
package com.filter.servlet; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class MyServlet extends HttpServlet{ public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException{ PrintWriter pw = response.getWriter(); pw.write("Welcome to My Servlet"); pw.write("<br>"); } }
The output will look like this:
Comments