struts2 interceptor

struts2 - Diferencia entre Token Interceptor y Token Session Interceptor?



(1)

tokenSession extiende el interceptor de token , ambos se utilizan para garantizar que solo se procesa una solicitud por token. La diferencia está en el manejo de los tokens inválidos. Cuando se encuentra el token no válido, el interceptor token simplemente devuelve el resultado invalid.token . El interceptor tokenSession en el token no válido intentará mostrar la misma respuesta que se habría mostrado en caso de un token válido.

Algunos pseudocódigos para ilustrar el flujo de trabajo del interceptor de tokenSession :

intercept() { if(validToken){ storeInvocation(); return invocation.invoke(); }else { ActionInvocation storedInvocation = loadStoredInvocation(); // ... return storedInvocation.getResultCode(); } }

Sé que ambos interceptores se utilizan para evitar envíos de formularios duplicados. Pero, ¿cuál es realmente la diferencia entre ambos? ¿Cuál tiene ventaja extra sobre el otro?