jsp中如何实现点击一个提交按钮,把其中数据提交到数据库同时刷新该页面
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jsp中如何实现点击一个提交按钮,把其中数据提交到数据库同时刷新该页面相关的知识,希望对你有一定的参考价值。
提交数据到数据库不用多描述,我主要不懂后面的
要实现将jsp中数据添加到数据库并刷新页面可以使用servlet来做中间件,进行数据库的插入操作。
具体示例代码如下:
jsp页面:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body>
<form action="/demoServlet" method="post">
<input type="text" name="num"/><br/>
<input type="text" name="name"/><br/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
servlet类:
public class DemoServlet extends HttpServletpublic void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
Connection conn = null;
PreparedStatement pstmt = null;
String num = request.getParameter("num");
String name = request.getParameter("name");
try
String sql="insert into student values(?,?)";
// conn=jdbcTool.getConnection();//获取连接(工具类)
pstmt=conn.prepareStatement(sql);
pstmt.setString(1,num);
pstmt.setString(2,name);
pstmt.executeUpdate();//执行插入
catch(Exception e )
System.out.println(e.toString());
finally
jdbcTool.free(null, pstmt, conn);//关闭连接(工具类)
request.getRequestDispatcher("/demo.jsp").forward(request, response);//重新跳转到本页面(刷新页面)
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
doGet(request, response);
点击提交按钮后,表单提交,调用doPost方法,执行操作,最后通过转发跳转会原来的界面。
jsp怎么防止重复提交
jsp怎么防止重复提交
一、禁掉提交按钮
禁掉提交按钮。表单提交后使用Javascript使提交按钮disable。这种方法防止心急的用户多次点击按钮。但有个问题,如果客户端把Javascript给禁止掉,这种方法就无效了。
二、Post/Redirect/Get模式
Post/Redirect/Get模式。在提交后执行页面重定向,这就是所谓的Post-Redirect-Get (PRG)模式。
简言之,当用户提交了表单后,你去执行一个客户端的重定向,转到提交成功信息页面。
这能避免用户按F5导致的重复提交,而其也不会出现浏览器表单重复提交的警告,也能消除按浏览器前进和后退按导致的同样问题。
三、在session中存放一个特殊标志
在session中存放一个特殊标志。
当表单页面被请求时,生成一个特殊的字符标志串,存在session中,同时放在表单的隐藏域里。
接受处理表单数据时,检查标识字串是否存在,并立即从session中删除它,然后正常处理数据。如果发现表单提交里没 有有效的标志串,这说明表单已经被提交过了,忽略这次提交。
四、在数据库里添加约束
在数据库里添加约束。在数据库里添加唯一约束或创建唯一索引,防止出现重复数据。这是最有效的防止重复提交数据的方法。
以上是关于jsp中如何实现点击一个提交按钮,把其中数据提交到数据库同时刷新该页面的主要内容,如果未能解决你的问题,请参考以下文章