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请求的技术细节。
请注意,这仅仅是例子,问题本身是技术不可知的。
有什么区别?如果没有真正的区别:应该选择哪个词,为什么?