问题
在看Java Web 深入分析时, 看到表单重复提交问题一节, 如下描述如何解决问题:
要防止表单重复提交, 就要标识用户的每一次访问请求, 使得每一次访问对服务端来说都是唯一的....当客户在请求时生成这个唯一的token时, 同时将这个token保存在用户的Session中, 等用户提交请求时检查这个token和当前的Session中保存的是否一致....如果一致, 则说明没有重复提交, 否则用户提交上来的token已经不是当前这个请求的合法token.
流程图如下:
?...但是让我迷惑的是: 访问服务器时获得唯一的token标识, 然后提交时带上这个标志, 服务器检测是否和自己Session中的内容一致. 为什么这样就可以防止重复提交?...我提交的第二次, 第三次还是带有相同的token啊, 服务器检测Session中的内容应该还是一致的. 为什么可以防止重复提交?