我研究 Grails 已经有一段时间了。并浏览了一些关于过滤器和拦截器的信息。两者都具有几乎相同的功能,即在特定控制器中跟踪会话或重定向未经授权的用户。
但是我很困惑何时以及为什么应该使用过滤器而不是拦截器,反之亦然。假设 Inceptor 有两个控制器方法beforeInterceptor
,afterInterceptor
并且对于 Filters 有三个常见的闭before
包after
和afterView
。
我的问题是对拦截器使用过滤器的优缺点是什么,反之亦然。通过这种方式,我们开发人员可以决定何时、何地以及为什么我们应该在特定控制器中使用过滤器或拦截器来进行一些跟踪、重定向等。