Filter过滤器

Filter

Filter过滤器
Filter开发步骤:
1,导包
2,编写过滤器

package com.le.filter;

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

public class CharacterEncodingFilter implements Filter {
    //初始化:web服务器启动,就已经初始化了,随时等待过滤对象出现
    public void init(FilterConfig filterConfig) throws ServletException {
        System.out.println("CharacterEncodingFilter初始化");
    }
    //chain:链
    /*
    1,过滤中的所有代码,在过滤特定请求的时候都会执行
    2,必须要让过滤器继续执行

     */
    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("过滤启动后");
    }
    //销毁:web服务器关闭的时候,过滤会销毁
    public void destroy() {

        System.out.println("CharacterEncodingFilter销毁");
    }
}

在web.xml中配置Filter

<filter>
        <filter-name>CharacterEncodingFilter</filter-name>
        <filter-class>com.le.filter.CharacterEncodingFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>CharacterEncodingFilter</filter-name>
        <!--只要是/Servlet的任何请求,都会经过这个过滤器-->
        <url-pattern>/servlet/*</url-pattern>
    </filter-mapping>```
     
上一篇:js高级-对于instanceof的探讨


下一篇:Servlet: ServletResponse接口 & HttpServletResponse接口