JavaWeb开发中避免表单重复提交方法一

来源:互联网 发布:mac语音播报怎么关闭 编辑:程序博客网 时间:2024/06/04 20:04

在Web开发中我们有时需要避免表单重复提交情况,比如发生在页面刷新等,如果不能很好解决,可能产生大问题,如网购订单提交。

解决方案一:在中件加入一个jsp,该jsp不提供显示,而只是对请求转发功能。


表单 index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>index.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
  </head>
  
  <body>
    <form action="mid.jsp" method="post">
    用户名:<input type="text" name="name"/>
    密码:<input type="password" name="password"/>
    <input type="submit" value="login"/>
    </form>
  </body>
</html>


将请求转发 mid.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
response.sendRedirect("success.jsp");
%>

表单提交成功,跳转页面success.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>success.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
  </head>
  
  <body>
    <h1>Sucesss!!</h1><br>
  </body>
</html>

0 0