专注Java教育14年 全国咨询/投诉热线:444-1124-454
星辉LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 过滤器Filter的配置

过滤器Filter的配置

更新时间:2021-07-27 16:57:24 来源:星辉 浏览627次

多个filter拦截的同一个请求,按web.xml配置顺序进行过滤

返回的响应的从最后配置的filter开始过滤

具体配置步骤:

编写Filter实现类

package cn.kihyou.b2c.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;

//实现接口:javax.servlet.Filter;
public class AdminFilter implements Filter {

    // 三个重要方法:初始化:init();拦截到要执行的方法:doFilter();销毁:destroy();

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
        // TODO Auto-generated method stub
        // Filter.super.init(filterConfig);
    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws IOException, ServletException {
        // TODO Auto-generated method stub
        // 1.拦截客户端/上一个filter发来的请求,是否放行到Servlet/下一个Filter
        System.out.println("AdminFilter拦截到请求");
        // 放行(放不放行您可以自己看着办)
        chain.doFilter(request, response);
        // 2.拦截servlet/filter发回的响应,是否放行到客户端/上一个filter
        System.out.println("AdminFilter拦截到响应");

    }

    @Override
    public void destroy() {
        // TODO Auto-generated method stub
        // Filter.super.destroy();
    }

}

配置web.xml

<!-- Filter,过滤器 -->
    <filter>
        <!-- filter名,随便起 -->
        <filter-name>AdminFilter</filter-name>
        <!-- 实现类所在目录 -->
        <filter-class>cn.kihyou.b2c.filter.AdminFilter</filter-class>
        <!-- 初始化参数 -->
        <!-- 设置字符集,charset:UTF-8 -->
        <init-param>
            <!-- 参数名 -->
            <param-name>charset</param-name>
            <!-- 参数值 -->
            <param-value>UTF-8</param-value>
        </init-param>

        <!-- 设置内容类型及其字符集,contentType:text/html;charset=UTF-8 -->
        <init-param>
            <param-name>contentType</param-name>
            <param-value>text/html;charset=UTF-8</param-value>
        </init-param>
    </filter>

    <!-- filter的映射 -->
    <filter-mapping>
        <!-- 对应的filter名 -->
        <filter-name>AdminFilter</filter-name>
        <!-- 要进行拦截过滤的目录 -->
        <url-pattern>/web/admin/*</url-pattern>
    </filter-mapping>

    <session-config>
        <!-- 超时时间,单位:分钟 -->
        <session-timeout>30</session-timeout>
    </session-config>

以上就是星辉小编介绍的"过滤器Filter的配置",希望对大家有帮助,想了解更多可查看Filter过滤器。星辉星辉在线学习教程,针对没有任何Java基础的读者学习,让你从入门到精通,主要介绍了一些Java基础的核心知识,让同学们更好更方便的学习和了解Java编程,感兴趣的同学可以关注一下。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>