如何配置过滤器,为什么要配置过滤器,接下来我们来看:

为什么要配置过滤器:针对来自客户端的请求,我们可以我们需要最为简单,最为迫切的是编码的过滤

<filter>
<description>字符集过滤器</description>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

,上面编码的过滤可以告诉我们为什么要过滤,那么如何配置自己的过滤器:web.xml中如此配置:

<filter>
<filter-name>sessionFilter</filter-name>
<filter-class>com.wdg.filter.SessionFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>sessionFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter>
<display-name>SessionFilter</display-name>
<filter-name>SessionFilter</filter-name>
<filter-class>com.wdg.filter.SessionFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>SessionFilter</filter-name>
<url-pattern>/SessionFilter</url-pattern>
</filter-mapping>

上面是配置了一个SessionFilter,这样的一个过滤,那么我们要创建这样的过滤器,

javaweb过滤器Filter_客户端

代码如下:

package com.wdg.filter;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

/**
* Servlet Filter implementation class SessionFilter
*/
public class SessionFilter implements Filter
{

/**
* Default constructor.
*/
public SessionFilter() {
// TODO Auto-generated constructor stub
}

/**
* @see Filter#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
}

/**
* @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
throws IOException, ServletException {
// TODO Auto-generated method stub
// place your code here
System.out.println("333");
// pass the request along the filter chain
chain.doFilter(request, response);
}

/**
* @see Filter#init(FilterConfig)
*/
public void init(FilterConfig fConfig) throws ServletException {
// TODO Auto-generated method stub
System.out.println("111");
}

}

这样我们所有来自请求都会先执行过滤器中的方法,然后进入到我们的请求中去

javaweb过滤器Filter_java_02

 上面控制台输出的333就是我们过滤器中执行方法输出的,希望对你有所帮助