监听器(Listener): 监听项目启动和关闭,只在项目启动和关闭时触发,一般用于处理项目的初始化工作
过滤器(Filter): 在Controller执行之前,对请求和响应进行预处理,比如设置编码格式等
拦截器(Interceptor): 可以在Controller执行前修改拦截请求,比如统一替换请求参数名称 可以阻止Controller执行,直接回复响应给客户端,比如拦截token错误的请求 可以在Controller回复响应后,做后续业务处理,比如记录日志等
过滤器和拦截器都可以修改请求,但它们定位不同 过滤器一般只用来处理编码等细节,而拦截器主要处理业务逻辑 虽然很多时候,它们都可以实现同样的效果,但是应当根据它们的定位来合理选择,不要混用
接下来,我们会单独写几篇博客,来完整地讲述如何在SpringBoot中定义监听器,过滤器,拦截器