当前位置:  技术问答>java相关

当用servlet与jsp在数据库中插入一条记录时,此时是用tomcat服务器的,当页面显示完成插入时,如果此时按下F5或者选择刷新,系统就会提示

    来源: 互联网  发布时间:2015-09-18

    本文导语:  当用servlet与jsp在数据库中插入一条记录时,此时是用tomcat服务器的,当页面显示完成插入时,如果此时按下F5或者选择刷新,系统就会提示重试当前操作,如按下重试,则又会在数据库中多插入了一条记录,这应怎么...

当用servlet与jsp在数据库中插入一条记录时,此时是用tomcat服务器的,当页面显示完成插入时,如果此时按下F5或者选择刷新,系统就会提示重试当前操作,如按下重试,则又会在数据库中多插入了一条记录,这应怎么解决?

|
数据库设计是,应避免重复插入(用主键……)。如重复插入,导到ErrorPage就可!

|
搂住的意思是想在插入前控制啊,如果是考虑数据库约束,这个问题还有问的价值吗?

|
好像是在提交表单后加一个随机数。
论坛里好像很多类似贴子。你搜索一下jsp栏吧。

|
你可以在插入以后重新LOAD一次你的页面,也就是清空你要提交的内容;

|
应该还是你的jsp/servlet的问题,关键代码贴出来,看看怎么帮你解决。有一个相同的帖子,一按刷新就重新提交,你可以搜索看一下。

|
采用同步令牌来避免重复提交,可以参考j2ee核心模式这本书

|
我觉得是你数据库设计有问题。
如果不修改数据库设计,那你应该插入之前先检查一下该记录是否存在,即检查你不允许重复的某个字段,如果没有,在执行数据库操作,否则提示已经存在,或干脆导航道别的页面。如下:
String sqlStr = "select columnName from tableName";
ResultSet rs = st.executeQuery(sqlStr);
if(rs.next())
{
   //提示或导航
}
else
{
  //insert 操作
}

|
一个简单的解决方法,把提交页面和入库处理页面分开,入库页面处理完成,跳转到提交页面,不就没有问题了,何必还要去侦测键盘按键操作呢

|
在程序中控制,我看过一个有session变量控制的,插入记录前如果session变量值为undo,则可插入新记录,成功后可将此变量设为do,此时无论他按多少次F5都不会有插入操作。当用户返回提交面页时,session变量设为undo,可填写新的记录了。
这样的作法相信能收到一定的效果。

|
在插入程序里控制一下,不让他重复插入二条一样的就可以了

|
同意buick555(王飞) ,用数据库表主键约束。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 编译 servlet 时,老提示 .....javax.servlet 不存在,为何 ???
  • 在IE下执行servlet时为什么有些servlet可以正常运行,有些却提示下载文件?
  • 遍了一个简单的servlet,编译时提示:package javax.servlet does not exist!
  • 请问用javac编译一般*.java能通过,但不能编译Servlet写的*.java.提示javax.servlet.http不存在。
  • import javax.servlet.http.*;后,怎么提示package javax.servlet.http does not exist?我的classpath中已添加了tomcat/lib/servlet.jar!
  • 我装的是JDK1.3,在编译SERVLET程序时,提示SERVLET包不存在,试过JSDK1.4也存在同样的问题,我该怎么办?
  • 菜鸟问题:编译后提示错误,package java.servlet doesn't exsit
  • jbuilder7中新建一个servlet提示找不到HttpServlet类是什么原因?
  • 访问JSP文件或者Servlet文件时提示下载的解决方法
  • 编译java文件的时候提示,找不到“import javax.servlet.ServletConfig”
  • 请问启动tomcat提示ERROR reading java.io.ByteArrayInputStream@39b78e At Line 11 /web-app/servlet/是什么回事,要怎么解决?
  • 我按cn-java上实战EJB做的第一个EJB例子(最简单的),最后运行http://localhost:6888/hello/servlet/HelloServlet,结果提示“Http:404
  • 编译beans时,出现"包 javax.servlet 不存在"错误提示,请问怎样解决???
  • ◆◆写了一个用Socket发送POST Request的servlet,但是总是提示SocketException,帮忙看看错在哪里◆◆
  • java命名空间javax.xml.ws.handler接口messagecontext成员方法: servlet_context定义参考
  • 请问各位大虾,我在编译SERVLET时,总是找不到javax.servlet.*或者javax.servlet.http.*,需要怎么配一下。
  • java命名空间javax.xml.ws.handler接口messagecontext成员方法: servlet_response定义参考
  • 关于servlet 的编译问题,怎样设置classpth,把那些java servlet类包含到classpath?而且无法调用servlet!谢谢!
  • java命名空间javax.xml.ws.handler接口messagecontext成员方法: servlet_request定义参考
  • 写了一个servlet程序,但用javac编译时,发现javax.servlet.*,javax.servlet.http.*不存在,为什么?怎样解决?
  • java Servlet获取和设置cookie实例代码
  • 为什么我在jsp页面用 "/servlet/goto.servlet?setname=中文",如果就这样传过去,在servlet里面得到的将是setname=null,如果传其他则可
  • java Servlet实现Session创建存取以及url重写代码示例
  • 我想apple传object给servlet同时也打开servlet页,显示servlet的内容
  • 请问为什么我的servlet程序,在编译时总是会出现包javax.servlert和包javax.servlet.http不存在的错误,我在环境变量classpath种已经登记了servlet.jar的位置了。如何解决?
  • jsp/servlet配置的小问题,如何添加servlet包
  • 包 javax.servlet ,javax.servlet.http 不存在,原因?解决办法?谢了!
  • servlet快在哪里?(什么时候用servlet好?)
  • 当多个请求同一个servlet时,servlet的生命周期是怎样的?
  • 一个Servlet如何在调用另一个Servlet时将自身的HttpServletRequest传递进去?
  • 急等用,现给分!servlet和servlet之间的通讯如何实现,最好有源代码,谢谢


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3