令牌拦截器和令牌会话拦截器之间的区别?

ank*_*kit 3 struts2 interceptor

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

Ale*_*r M 8

tokenSession延伸token拦截器,它们都用于确保每个令牌只有一个请求被处理.不同之处在于处理无效令牌.当找到无效令牌时,token拦截器只返回invalid.token结果.tokenSession无效令牌上的拦截器将尝试显示在有效令牌的情况下显示的相同响应.

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

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