更新时间:2021-11-15 10:52:43 来源:极悦 浏览828次
过滤器要重写3个方法
init(FilterConfig filterConfig):启动项目的时候执行
doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain):资源拦截的时候执行
destroy():正常关闭项目的时候执行
来看下面例子,准备2个Filter过滤器,都拦截所有的路径
过滤器demo2代码
package com.lingaolu.filter;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;
/**
* @author 林高禄
* @create 2020-08-04-9:42
*/
@WebFilter("/*")
public class Demo2 implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("demo2过滤器初始化了......");
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("demo2过滤器进来了......");
filterChain.doFilter(servletRequest,servletResponse);
System.out.println("demo2过滤回来了......");
}
@Override
public void destroy() {
System.out.println("demo2过滤器摧毁了......");
}
}
过滤器demo3代码
package com.lingaolu.filter;
import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;
/**
* @author 林高禄
* @create 2020-08-04-9:42
*/
@WebFilter("/*")
public class Demo3 implements Filter {
@Override
public void init(FilterConfig filterConfig) throws ServletException {
System.out.println("demo3过滤器初始化了......");
}
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
System.out.println("demo3过滤器进来了......");
filterChain.doFilter(servletRequest,servletResponse);
System.out.println("demo3过滤回来了......");
}
@Override
public void destroy() {
System.out.println("demo3过滤器摧毁了......");
}
}
index.jsp代码 ,里面学了一句输出语句
启动项目,执行了init方法,且每个过滤器的init都只执行一次
访问index.jsp,每次访问都执行,并且先执行的过滤器,最后回来,有点先进后出的感觉
正常关闭项目,每个过滤器的destrpy方法都只执行一次
通过上述相信大家对Filter生命周期已经有所了解,大家如果想学习更多相关知识,可以来关注一下极悦的Java极悦在线学习,里面的课程内容丰富,细致全面,从入门到精通,适合没有基础的小伙伴学习,希望对大家能够有所帮助。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习