An object of FilterConfig is created by the web container. This object can be used to get the configuration information from the web.xml file.
Methods of FilterConfig interface
There are following 4 methods in the FilterConfig interface.
- public void init(FilterConfig config): init() method is invoked only once it is used to initialize the filter.
- public String getInitParameter(String parameterName): Returns the parameter value for the specified parameter name.
- public java.util.Enumeration getInitParameterNames(): Returns an enumeration containing all the parameter names.
- public ServletContext getServletContext(): 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. Here, we have created 4 files:
- index.html
- MyFilter.java
- HelloServlet.java
- web.xml
index.html
MyFilter.java
import java.io.IOException; import java.io.PrintWriter; import javax.servlet.*; public class MyFilter 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 s=config.getInitParameter("construction"); if(s.equals("yes")){ out.print("This page is under construction"); } else{ chain.doFilter(req, resp);//sends request to next resource } } public void destroy() {} }
HelloServlet.java
import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.*; public class HelloServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.print(" welcome to servlet "); } }
web.xml
HelloServlet HelloServlet HelloServlet /servlet1 f1 MyFilter construction no f1 /servlet1
Leave A Comment