3

我知道这两个拦截器都用于防止重复提交表单吗?但他们两者之间究竟有什么区别?哪一个比另一个更有优势?

4

1 回答 1

8

tokenSession扩展拦截器token,它们都用于确保每个令牌只处理一个请求。不同之处在于对无效令牌的处理。当发现无效令牌时,token拦截器只返回invalid.token结果。无效令牌的tokenSession拦截器将尝试显示与有效令牌相同的响应。

一些用于说明tokenSession拦截器工作流程的伪代码:

intercept() {
  if(validToken){
    storeInvocation();
    return invocation.invoke();
  }else {
    ActionInvocation storedInvocation = loadStoredInvocation();
    // ...
    return storedInvocation.getResultCode();
  }
}
于 2013-10-22T19:35:30.583 回答