我知道两个拦截器都用于防止重复提交表单吗?但两者之间究竟有什么区别? 哪一个比其他人有额外优势呢?
答案 0 :(得分:8)
tokenSession
扩展token
拦截器,它们都用于确保每个令牌只处理一个请求。不同之处在于处理无效令牌。
当找到无效令牌时,token
拦截器只返回invalid.token
结果。无效令牌上的tokenSession
拦截器将尝试显示在有效令牌的情况下显示的相同响应。
用于说明tokenSession
拦截器工作流程的一些伪代码:
intercept() {
if(validToken){
storeInvocation();
return invocation.invoke();
}else {
ActionInvocation storedInvocation = loadStoredInvocation();
// ...
return storedInvocation.getResultCode();
}
}