猿教程 Logo

FilterConfig

FilterConfig的对象由Web容器创建。 此对象可用于从web.xml文件获取配置信息。


FilterConfig接口的方法

FilterConfig接口中有以下4种方法。

  1. public void init(FilterConfig config):init()方法只有在用于初始化过滤器时才被调用。

  2. public String getInitParameter(String parameterName):返回指定参数名称的参数值。

  3. public java.util.Enumeration getInitParameterNames():返回包含所有参数名称的枚举。

  4. public ServletContext getServletContext():返回ServletContext对象。


FilterConfig的示例

在此示例中,如果将param-value更改为no,则请求将转发到servlet,否则过滤器将创建带有以下消息的响应:此页面处理不足。 让我们看看FilterConfig的简单例子。 在这里,我们创建了4个文件:

  • index.html

  • MyFilter.java

  • HelloServlet.java

  • web.xml

index.html

<a href="servlet1">click here</a>

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("<br>welcome to servlet<br>");
    		
    	}
    
    }

    web.xml

    <web-app>
    
     <servlet>
        <servlet-name>HelloServlet</servlet-name>
        <servlet-class>HelloServlet</servlet-class>
      </servlet>
    
      <servlet-mapping>
        <servlet-name>HelloServlet</servlet-name>
        <url-pattern>/servlet1</url-pattern>
      </servlet-mapping>
      
      <filter>
      <filter-name>f1</filter-name>
      <filter-class>MyFilter</filter-class>
      <init-param>
      <param-name>construction</param-name>
      <param-value>no</param-value>
      </init-param>
      </filter>
      <filter-mapping>
      <filter-name>f1</filter-name>
      <url-pattern>/servlet1</url-pattern>
      </filter-mapping>
      
      
    </web-app>


    版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
    本文标题: C#环境
    本文地址:http://www.yuanjiaocheng.net/Servlet/filter-config.html