1 编写一个类实现Filter
public class filtertest implements Filter{
//服务器关闭时调用
@Override
public void destroy() {
// TODO Auto-generated method stub
}@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
throws IOException, ServletException {
//在这里进行相应的操作【如:权限校验(是否登录)】
}//服务器启动时调用
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}}
2 web.xml进行配置过滤器
<filter>
<filter-name>fiterTest</filter-name>
<filter-class>com.filter.filtertest</filter-class>
</filter>
<filter-mapping>
<filter-name>fiterTest</filter-name>
<url-pattern>/*</url-pattern><!-- 这里可以配置4种拦截方式-->
</filter-mapping>
多个filter执行顺序由<filter-mapping>决定,谁的<filter-mapping>在前面 谁就先执行
Filter应用场景
1 设置编码集【可以直接在web.xml配置,不需要自己写java类】
<filter>
<filter-name>encoding</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>
</filter>
<filter-mapping>
<filter-name>encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2 校验当前是否登录、统计访问次数、页面静态化..