想知道如何正确地保证表单提交的幂等性吗?(一)

1、表单提交案例

我们通过一个 jsp 页面提交表单到 servlet 进行处理。项目结构如下:

想知道如何正确地保证表单提交的幂等性吗?(一)

首先看 JSP 页面:from01.jsp

想知道如何正确地保证表单提交的幂等性吗?(一)想知道如何正确地保证表单提交的幂等性吗?(一)


接着我们看 servlet 操作:

想知道如何正确地保证表单提交的幂等性吗?(一)

我们将该项目部署到 tomcat 服务器,然后启动服务器,在浏览器中输入相应地址,点击表单中的提交按钮,后台正常情况下应该打印出提交表单的字样,然后前台页面输出提交成功。

想知道如何正确地保证表单提交的幂等性吗?(一)

2、表单重复提交的三种情况

上面我们演示的是正常点击提交的情况,但是实际上用户可能进行多次提交的操作。

①、多次点击提交按钮

这是最明显的一种情况,可能由于我们点击一次按钮后,系统后台对提交操作进行处理有一定的延时,于是页面停在表单提交页面。而当前用户不知道,以为没有提交表单,于是又进行按钮点击,造成表单多次提交。

想知道如何正确地保证表单提交的幂等性吗?(一)

②、用户提交表单成功之后不断点击浏览器【刷新】按钮

想知道如何正确地保证表单提交的幂等性吗?(一)

③、提交表单成功后,点击浏览器【回退】箭头,回到表单提交页面,然后重新点击提交按钮

想知道如何正确地保证表单提交的幂等性吗?(一)

上一篇:HTML转换成PDF,这样就搞定了!


下一篇:正充电手机自动订了总统套房!*介入调查:排除被植入后门或被控制可能