Java 如何防止在刷新Jsp页面时向数据库插入值?

Java 如何防止在刷新Jsp页面时向数据库插入值?,java,jsp,jdbc,Java,Jsp,Jdbc,我有一个jsp页面,用于向数据库中插入一些值。刷新页面时,会向数据库表中插入重复值。如何防止这种情况 try { //here all values are retrieve using request.getParameters if(sage!=null) { age=Integer.parseInt(sage); } if(contact!=null) { phone=Long.parseLong(contact); } db.connect();

我有一个jsp页面,用于向数据库中插入一些值。刷新页面时,会向数据库表中插入重复值。如何防止这种情况

try { 
    //here all values are retrieve using request.getParameters 
    if(sage!=null) { age=Integer.parseInt(sage); } 
    if(contact!=null) { phone=Long.parseLong(contact); } 
    db.connect();
    int res=0; 
    String sql="insert into phr_login(name,address,age,phone,email,username,password,salt,category)values('"‌​+name+"','"+address+"',"+age+","+phone+",'"+emailId+"','"+userId+"','"+epassword+‌​"','"+salt+"','"+category+"')";
    if(name!=""&&userId!=""&&password!=""&&emailId!="") { 
        res=db.updateSQL(sql);
    } 
}

并创建一个要重定向到的确认页面。这是绝对必要的。在没有重定向到另一个页面的情况下,绝对不能执行数据库更新/插入


为确保确认页面准确无误,您可以存储会话中需要在其上显示的任何信息,然后从中读取。

通过存储您已经为与该页面相关联的会话中的调用插入了内容这一事实?您可以提供一些代码吗?请尝试{//此处使用request.getParameters检索所有值,如果(sage!=null){age=Integer.parseInt(sage);}if(contact!=null){phone=Long.parseLong(contact);}db.connect();int res=0;String sql=“插入phr_登录(姓名、地址、年龄、电话、电子邮件、用户名、密码、salt、类别)值(“+name+”、“+address+”、“+age+”、“+phone+”、“+emailId+”、“+userId+”、“+epassword+”、“+category+”)“如果(name!=”“&&userId!=”“&&password!=”“&&emailId!=”“){res=db.updateSQL(sql);}}您是从重新提交还是只是刷新页面?看起来您是在发布新帖子,这将解释为什么数据会重复。刷新页面时是否会收到关于重新发送数据的警告?”?。
response.sendRedirect("confirmpage.jsp");