FilterConfig Interface

We will get the configuration information detail from the web.xml file by using FilterConfig

object which is created by the web container.
Methods of FilterConfig interface

There are following 4 methods in the FilterConfig interface.

  1. public void init(FilterConfigconfig): init() method is invoked only once it is used to initialize the filter.
  2. public String getInitParameter(String parameterName): Returns the parameter value for the specified parameter name.
  3. publicjava.util.EnumerationgetInitParameterNames(): Returns an enumeration containing all the parameter names.
  4. publicServletContextgetServletContext(): Returns the ServletContext object.

Example of FilterConfig

In this example, if you change the param-value to no, request will be forwarded to the

servlet otherwise filter will create the response with the message: this page is

underprocessing. Let's see the simple example of FilterConfig.
Required Files:

  1. index.html
  2. MyFilter1.java
  3. WelcomeServlet.java
  4. web.xml

index.html
<html>
<body>
<a href="Myservlet">click</a>
</body>
</html>

MyFilter1.java
import java.io.IOException;  
import java.io.PrintWriter;  
  
import javax.servlet.*;  
  
public class MyFilter1 implements Filter{  
FilterConfig config;  
  
public void init(FilterConfig config) throws ServletException {  
    this.config=config;  
}  
  
public void doFilter(ServletRequest req, ServletResponse resp,  
    FilterChain chain) throws IOException, ServletException {  
    PrintWriter out=resp.getWriter();  
      
    String s1=config.getInitParameter("processing");  
          
    if(s1.equals("yes")){  
         out.print("This page is under processing");  
    }  
    else{  
         chain.doFilter(req, resp);//sends request to next resource  
    }  
          
}  
public void destroy() {}  
}  

WelcomeServlet.java
import java.io.IOException;  
import java.io.PrintWriter;  
  
import javax.servlet.ServletException;  
import javax.servlet.http.*;  
  
public class WelcomeServlet extends HttpServlet {  
public void doGet(HttpServletRequest request, HttpServletResponse response)  
        throws ServletException, IOException {  
  
        response.setContentType("text/html");  
        PrintWriter out = response.getWriter();  
      
        out.print("welcome to JavaRace");  
          
    }  
  
}  

web.xml
<web-app>  
  
 <servlet>  
    <servlet-name>WelcomeServlet</servlet-name>  
    <servlet-class>WelcomeServlet</servlet-class>  
  </servlet>  
  
  <servlet-mapping>  
    <servlet-name>WelcomeServlet</servlet-name>  
    <url-pattern>/WelcomeServlet</url-pattern>  
  </servlet-mapping>  
    
  <filter>  
  <filter-name>f1</filter-name>  
  <filter-class>MyFilter</filter-class>  
  <init-param>  
  <param-name>processing</param-name>  
  <param-value>no</param-value>  
  </init-param>  
  </filter>  
  <filter-mapping>  
  <filter-name>f1</filter-name>  
  <url-pattern>/WelcomeServlet</url-pattern>  
  </filter-mapping>  
    </web-app>  

Our Services:

Java Training | Python Training | Machine Learning with Python Training | Deep Learning with Python Training | Data Science with Python Training | Projects

SILAN Technology, BBSR
Call to: 9439202111  |  9658317757  |  0674-2361252

Comment