Filter 过滤器

什么是过滤器

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

  • 处理中文乱码
  • 拦截不需要的请求
    Filter 过滤器_第1张图片

创建一个过滤器

注意要先导入servlet 依赖,选对Filter 接口
Filter 过滤器_第2张图片
创建过滤器实现中文编码

package com.tin.filter;

import javax.servlet.*;
import java.io.IOException;

public class CharacterEncodingFilter implements Filter {
     

    @Override
    //初始化,服务器启动时就完成初始化
    public void init(FilterConfig filterConfig) throws ServletException {
     

    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
     
        //设置中文编码
        servletRequest.setCharacterEncoding("utf-8");
        servletResponse.setContentType("text/html");
        servletResponse.setCharacterEncoding("utf-8");
        //chain:链 过滤器的代码在过滤特定请求时都会执行(满足filter注册映射的url请求路径时)
        //必须执行下面这条代码,让请求转接到servlet,否则就会拦截这个请求
        filterChain.doFilter(servletRequest,servletResponse);
    }

    @Override
    //销毁 服务器关闭时执行
    public void destroy() {
     

    }
}

在web.xml注册过滤器

<filter>
    <filter-name>Encodingfilter-name>
    <filter-class>com.tin.filter.CharacterEncodingFilterfilter-class>
  filter>
  <filter-mapping>
    <filter-name>Encodingfilter-name>
    
    <url-pattern>/session/*url-pattern>
 filter-mapping>

你可能感兴趣的:(JavaWeb,过滤器,filter,servlet,java)