JavaWeb - Filter

Filter

Filter: 过滤器,用来过滤网站的数据;

  • 处理中文乱码
  • 登陆验证
11-1.png

Filter开发步骤

  1. 导包
  2. 编写过滤器
    1. 导包不要错
    2. 实现Filter接口,重写对应的方法即可
            public class CharacterEncodingFilter implements Filter {
        //    初始化
        //    web服务器启动时就初始化了
            public void init(FilterConfig filterConfig) throws ServletException {
                System.out.println("初始化");
            }
        //   Chain:链
        //    1. 过滤中的所有代码,在过滤特定请求的时候都会执行
        //    2. 必须要让过滤器继续同行
        //    doFilter
            public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
                servletRequest.setCharacterEncoding("utf-8");
                servletResponse.setCharacterEncoding("utf-8");
                servletResponse.setContentType("text/html;charset=UTF-8");
    
                System.out.println("执行前......");
                filterChain.doFilter(servletRequest,servletResponse);// 让请求继续走,如果不写,程序到这里就呗拦截停止.
                System.out.println("执行后......");
            }
    
        //    销毁
        //    服务器关闭时,过滤会销毁
            public void destroy() {
                System.out.println("销毁");
            }
        }
    
  3. 在web.xml中配置Filter

    CharacterEncodingFilter
    com.luo.filter.CharacterEncodingFilter


    CharacterEncodingFilter
    /servlet/*

你可能感兴趣的:(JavaWeb - Filter)