一,过滤器Filter

1.过滤器入门程序
Filter是javaweb三大组件之一,而不是springboot提供的,而我们想要在spring中使用javaweb三大组件,就必须在启动类上加上@ServletComponentScan用于标识spring是支持javaweb的

package com.itheima.filter;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;
@WebFilter(urlPatterns = "/*")
public class DemoFilter implements Filter {
@Override//初始化方法,只被调用一次
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("init初始化方法执行了");
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("拦截到了请求");
//放行
filterChain.doFilter(servletRequest,servletResponse);
}
@Override//销毁方法,只调用一次
public void destroy() {
System.out.println("destory销毁方法执行了");
}
}
package com.itheima;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
@ServletComponentScan //当前开启了对servlet组件的支持
@SpringBootApplication
public class TliasWebManagementApplication {
public static void main(String[] args) {
SpringApplication.run(TliasWebManagementApplication.class, args);
}
}
2.过滤器详解
1)过滤器执行流程

2)过滤器的拦截路径

3)过滤器链

3.使用Fileter实现登录校验

二.拦截器 Interceptor

1.拦截器入门程序


拦截器-Interceptor详解
1)拦截路径


2)拦截器执行流程

登录校验Interceptor

Filter与Interceptor区别
1.接口范围不同:过滤器需要实现Filter接口,而拦截器需要实现HandlerInterceptor接口。
2.拦截范围不同:过滤器Filter会拦截所有的资源,而Interceptor只会拦截Spring环境中的资源
本文介绍了JavaWeb中的Filter和Interceptor的基本概念、执行流程以及登录校验示例。滤器Filter用于全局资源拦截,而Interceptor则限于Spring环境,两者接口和拦截范围不同。
2803

被折叠的 条评论
为什么被折叠?



