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

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