Filter&Listener

Filter&Listener,第1张

Filter&Listener 1.Filter :过滤器

一、概念

1、web中的过滤器

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

2、过滤器的作用

一般用于完成通用的 *** 作。如:登录验证、统一编码处理、敏感字符过滤...

二、快速入门

1、步骤

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

(2)复写方法

(3)配置拦截路径

  • 方式一:web.xml

  • 方式二:注解

2.代码

@WebFilter("/*")//访问所有的资源之前,都被执行该过滤器public class FileterDemo1 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("过滤器被执行了......");
        //放行                              filterChain.doFilter(servletRequest,servletResponse;    }
    @Override    
    public void destroy() {
    }
 }

三、过滤器细节

1、web.xml配置

  MyFilter01 filter.MyFilter01   MyFilter01 /MyServlet 

2、过滤器执行流程

(1)执行过滤器

(2)执行放行后的资源

(3)回来执行过滤器放行代码下边的代码

3、过滤器生命周期方法

(1)init:在服务器启动后,会创建FIlter对象,然后调用init方法。只执行一次,用于加载资源

(2)doFilter:每一次请求被拦截资源后,会执行

(3)destroy:在服务器关闭后,Filter对象被销毁,用于释放资源

4.过滤器拦截路径

① 具体资源路径:/index.jsp /findUser 只有访问 index.jsp 、findUser 时,过滤器才会被执行

 ② 拦截目录:/user/* 访问 user 目录下的所有资源时,过滤器都会被执行

 ③ 后缀名拦截:*.jsp 访问所有后缀名为 jsp 资源时,过滤器都会被执行

 ④ 拦截所有资源:/* 访问所有资源时,过滤器都会被执行

5.过滤器链

FilterChain 称为过滤器链,web 应用中可以存在很多个 Filter 过滤器,多个 Filter 过滤器组合起来就是一个过滤器链,受同一个 FilterChain 管理。

 

2.Listener:监听器

1.2.1简介

web 监听器是一种 Servlet 中的特殊的类,它们能帮助开发者监听 web 中的特定事件,比如ServletContext、HttpSession、ServletRequest 的创建和销毁;或者监听变量的创建、销毁和修改等。可以在某些动作前后增加处理,实现监控。框架底层已经帮助我们实现了,此处只做简要介绍。

1.2.2 监听器的使用

① 定义一个类,实现 ServletContextListener 接口,并复写方法

 

② 配置

 

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/723171.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存