JavaWeb刷新浏览器防止重复提交请求

版权声明:转载请标明出处:blog.csdn.net/mikky_android/article/details ; 本文出自【mikky的博客】 https://blog.csdn.net/mikky_android/article/details/78492298

在web开发中,会遇到这样的一个情况,eg:创建了一个用户,此时刷新浏览器,会导致请求的重新提交。因为每个用户总会有一个标识来确定他的唯一性,比如登录ID,造成了用户唯一的标识重复,这时候,采用以下比较实用的几种方式,摆脱这样的困境。

1.重定向。重定向是两次请求,接收用户刷新---->服务器接收到命令之后,发送302状态码并给用户返回界面,这个界面可以是别的任何地址,此时便不会产生请求URL的事件。在流行的struts2中很容易实现重定向,

方法一:response.sendRedirect("跳转的列表界面.jsp");

方法二:response.setStatus(302);   response.setHeader(request.getContextPath(),"跳转的列表界面.jsp"); 

2.window.open提交表单,因为采用这种方式,浏览器在提交完事之后会自动关闭这个界面,也就没有请求事件了~

3. 定义一个boolean值,采用true或false的方式(简单粗暴)

4.ajax无刷新提交

5.禁止缓存,这就需要在你的提交表单的jsp页面head块,添加js,防止缓存

 <META HTTP-EQUIV="pragma" CONTENT="no-cache"> 
 <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> 
 <META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">

6....欢迎补充哦~


展开阅读全文

没有更多推荐了,返回首页