Filter概述、Filter快速入门

Filter概述

生活中的过滤器:净水器,空气净化器

web中的过滤器:当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能

过滤器的作用:一般用于完成通用的操作:登录验证:统一编码处理,敏感字符过滤

File快速入门

1.步骤:

  1.定义一个类,实现接口Filter

  2.复写方法

  3.配置拦截路径

    1.web.xml

    2.注解

FileDemo1类

package com.example.filter;

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

/**
 * 过滤器快速入门
 */
@WebFilter(value = "/index.jsp")//访问所有资源之前,都会执行该过滤器
public class FilterDemo1 implements Filter {
    @Override
    public void init(FilterConfig filterConfig) throws ServletException {

    }

    @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        System.out.println("filterDemo1被执行了");
    }

    @Override
    public void destroy() {

    }
}

index.jsp

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html>
<html>
<head>
    <title>JSP - Hello World</title>
</head>
<body>
<h1><%= "Hello World!" %>
</h1>
<br/>
<a href="hello-servlet">Hello Servlet</a>
</body>
</html>

我们运行代码,在页面就会显示空白,但是idea显示已经被执行,这时候我们就需要放行一下

  @Override
    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
        System.out.println("filterDemo1被执行了");

        //放行
        filterChain.doFilter(servletRequest,servletResponse);
    }
posted @ 2023-02-13 14:35  肥宅快乐水~  阅读(38)  评论(0)    收藏  举报