No, your struts.xml
is incorrect. Interceptors are invoked before the action execution. It's like a pipeline that serves the request. Each of them invoked one after another. When the last interceptor processed the action is executed. What interceptors to invoke configured in the action configuration or via annotations. For detail explanation of interceptors see docs.
The important thing is the order the interceptors are invoked on the stack. There's a defaultStack
where the interceptors are collected and ordered appropriately. If you add a reference of the custom interceptor to the stack or action it should comply the order it placed.
The xml configuration file should comply the DTD.