I\'m researching this so that I can respond better in interviews. I\'ve been searching around for a clear and concise answer.
So far, and by all means correct me if I a
In one of the interview I answered this question like,
Interceptors are struts2 concept and application developer has control over it. Also, It works withing struts2 application boundary and it has access to Actions, ValueStack and other objects along with Struts2 goodies.
While Filter is more suitable for deployment time configurations. It has limited access to application, And in most cases its generic for most of the web-app deployed in server.
If logic in code is more coupled with Application, its better suited for interceptor or else if its infrastructure, we can place it in servlet filter.