Web容器创建FilterConfig的对象。该对象可用于从web.xml文件获取配置信息。
FilterConfig接口的方法FilterConfig界面中有以下4种方法。
- public void init(FilterConfig config):仅在将init()方法用于初始化过滤器后才调用它。
- public String getInitParameter(String parameterName):返回指定参数名称的参数值。
- public java.util.Enumeration getInitParameterNames():返回包含所有参数名称的枚举。
- public ServletContext getServletContext():返回ServletContext对象。
在此示例中, 如果将param-value更改为no, 则请求将被转发到servlet, 否则过滤器将创建带有以下消息的响应:该页面正在处理中。让我们看一下FilterConfig的简单示例。在这里, 我们创建了4个文件:
- index.html
- MyFilter.java
- HelloServlet.java
- web.xml
<
a href="http://www.srcmini.com/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>
下载此示例(使用Myeclipse IDE开发)
下载此示例(使用Eclipse IDE开发)
【Servlet过滤器(FilterConfig用法)】下载此示例(使用Netbeans IDE开发)
推荐阅读
- 2个有用的过滤器示例
- Servlet如何显示图像()
- servlet将文件上传到服务器的示例
- Servlet中的注册表单示例
- 金馆长微信表情包:二人联合嘲讽表情包_微信
- 金馆长微信表情包:女生最喜欢听异性说的话_微信
- 带歌词的金馆长表情包大全_微信
- 学生党必备的金馆长表情包大全_微信
- QQ空间红包星标怎样点亮?