防止重复提交解决方案
. 预备知识:
拦截器配置
在 中定义了很多拦截器,这些拦截器就是用来完成许多强劲
功 能的保证,而 且可 以 根 据 已 定义 的 若 干 拦 截器 中 的 某 几 个拦 截 器 构 建 成
拦截器栈,其实拦截器栈还可以由拦截器栈组成。即从 高
层的角度来看,二者没有什么区别。
我们可以在中增加这样一行拦截器
的名字即表示将该拦截器作为整个包的默认拦截器,它会自动附加到我们的每
一个 中。并且在一个中只能使用定义一
个默认的拦截器。
若 没有引用任何一个拦截器,那么默认的 会自动附加到
中
若 手工引用任何一个拦截器,那么默认的 就不会附加到
中
若 还 想 使 用 默 认 拦 截 器 , 则 只 能 再 通 过 手 工 方 式 导 入
如果没有引用 的默认拦截器,那么就会影响到整体的输入校验即其它
的一些功能
拦截器的配置和使用都很 !,这得益于其底层的良好架构以及它的
"# 的思想
该拦截器即标准的 "# 思想,代码不写死到 里,而是根据配置灵活附
加到 中
使用上, 拦截器并不复杂。但实现上,是很复杂的,其底层用到了动态代
理的机制
$ 造成重复提交主要的两个原因:
1) 一是,服务器处理时间久。当用户在表单中填完信息,点击“提交”按钮
后,由于服务器反应时间过长没能及时看到响应信息,或者出于其它目
的,再次点击“提交”按钮,从而导致在服务器端接收到两条或多条相同
的信息。如果信息需要存储到后台数据库中,如此以来就会产生数据库
操作异常提示信息,以至于给用户带来错误信息提示,从而给用户的使
用带来不便。