攔截器和過濾器的編程思想都是AOP,都是將一段內(nèi)容的前后進(jìn)行切面,不過就是各自的 出發(fā)點(diǎn)、作用范圍 、實(shí)現(xiàn)原理 不同。
①攔截器 是基于java的反射機(jī)制的
①過濾器 是基于函數(shù)回調(diào)的
②攔截器 依賴于框架容器
②過濾器 依賴于Servlet容器
③攔截器 只能攔截action請求
③過濾器 卻可以過濾更大的范圍,例如(過濾請求資源什么的)
④攔截器可以獲取IOC容器中的各個(gè)bean,因此在攔截器中注冊一個(gè)service,就可以調(diào)用業(yè)務(wù)邏輯層的內(nèi)容,進(jìn)而進(jìn)行更多的操作。
①攔截器 是基于java的反射機(jī)制的
①過濾器 是基于函數(shù)回調(diào)的
②攔截器 依賴于框架容器
②過濾器 依賴于Servlet容器
③攔截器 只能攔截action請求
③過濾器 卻可以過濾更大的范圍,例如(過濾請求資源什么的)
④攔截器可以獲取IOC容器中的各個(gè)bean,因此在攔截器中注冊一個(gè)service,就可以調(diào)用業(yè)務(wù)邏輯層的內(nèi)容,進(jìn)而進(jìn)行更多的操作。
2017-07-29
最新回答 / 慕斯卡5089230
好像用maven將項(xiàng)目直接依賴與間接依賴的包都從maven倉庫下載到本地倉庫了,項(xiàng)目里要用時(shí)到本地倉庫找,如:C:\Users\自己的pc用戶名\.m2\repository\org\springframework\spring-webmvc
2017-07-23
已采納回答 / 慕俠4526549
過濾器: 依賴于servlet容器。在實(shí)現(xiàn)上基于函數(shù)回調(diào),可以對幾乎所有請求進(jìn)行過濾,但是缺點(diǎn)是一個(gè)過濾器實(shí)例只能在容器初始化時(shí)調(diào)用一次。使用過濾器的目的是用來做一些過濾操作,獲取我們想要獲取的數(shù)據(jù),比如:在過濾器中修改字符編碼;在過濾器中修改HttpServletRequest的一些參數(shù),包括:過濾低俗文字、危險(xiǎn)字符等攔截器:依賴于web框架,在SpringMVC中就是依賴于SpringMVC框架。在實(shí)現(xiàn)上基于Java的反射機(jī)制,屬于面向切面編程(AOP)的一種運(yùn)用。由于攔截器是基于web框架的調(diào)用,因...
2017-07-20