Java面试:说一下过滤器,拦截器,监听器的区别

1.记住三句话:
    ①.监听应用(应用于整个程序应用)

    ②.过滤请求/资源(应用于容器)

    ③.拦截方法(相较于过滤器更细粒化的拦截,应用于方法)
        作用范围从小打到,加载顺序也是

    拦截器是实现AOP的一种策略。

2.对比与联系

    ①.拦截器是基于java反射机制来实现的,而过滤器是基于函数回调来实现的。(有人说,拦截器是基于动态代理来实现的)
    ②.拦截器不依赖servlet容器,过滤器依赖于servlet容器。
    ③.拦截器只对Action起作用,过滤器可以对所有请求起作用。
    ④.拦截器可以访问Action上下文和值栈中的对象,过滤器不能。
    ⑤.在Action的生命周期中,拦截器可以多次调用,而过滤器只能在容器初始化时调用一次。

3.参考博客:

    https://blog.csdn.net/gary0917/article/details/83589815
    https://blog.csdn.net/u013806366/article/details/84993212
    https://blog.csdn.net/reggergdsg/article/details/52962774

4.对比参考() 引自:https://blog.csdn.net/reggergdsg/article/details/52962774

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章