0
有幾種技術提供過濾器和攔截器或兩者兼而有之。但從我的角度來看,它幾乎是一樣的。過濾器和攔截器之間的一般區別?
讓我們看看Servlet過濾器:它們包裝執行請求,它們可以修改請求或響應。
public void doFilter(
ServletRequest request, ServletResponse response, FilterChain chain) {
// do something BEFORE here ...
chain.doFilter(request, response);
// do something AFTER here ...
}
攔截器,例如一個從AOP聯盟,做基本相同:
class TracingInterceptor implements MethodInterceptor {
Object invoke(MethodInvocation i) throws Throwable {
// do something BEFORE here
Object ret=i.proceed();
// do something AFTER here
return ret;
}
}
這裏唯一的不同是由於像方法調用與HTTP請求的技術細節。
請注意,這僅僅是例子,問題本身是技術不可知的。
有什麼區別?如果沒有真正的區別:應該選擇哪個詞,爲什麼?