这是最普通的解决办法:你先试试!
1、打开浏览器,点“工具”→“管理加载项”那里禁用所有插件,或者你能准确知道没问题的保留。然后→工具→INTERNET选项→常规页面→删除cookies→删除文件→钩选删除所有脱机内容→确定→设置使用的磁盘空间为:2MB确定→清除历史纪录→网页保存在历史记录中的天数:3以下→应用确定(我自己使用的设置是“0”天)。到此立即关闭所有浏览器窗口。
2、重新打开浏览器,做最后一步:工具→INTERNET选项→高级→恢复浏览器默认设置。
3、如果是浏览器中毒就使用卡卡助手修复,然后做插件免疫:全部钩选→免疫。然后→全部去掉钩选→找到“必备”一项,把能用到的重新钩选→取消免疫。能用到的就是FLASH和几种播放器的,其余的不要取消免疫。完成所有操作以后,你的浏览器就不会出问题了
如果上面得这些方法不行,再用下面这些方法试试:
1:安装一个DirectX,试一下浏览器加速;
如果上面的都不行,那就说明你这个系统有问题,不用再求医,直接重新装系统就行了!还有有些问题是系统主题引起的,安装系统主题时候要找个好用并且安全的!
莫名原因,数据库中出现了重复记录,这是个大问题,尤其是对业务链产生很大破坏!
这个问题的直接表现:数据库中出现重复记录。(当然了,主键肯定不一样)
/168 的方法,但是发现并没有完全起到作用。
总结: 重复提交、重复刷新、防止后退的问题以及处理方式
你在任何一个比较专业的BBS都会看到这样的问题,即使你Google一下,也会发现有很多的人在关注和询问,但大家给出的解决方法却都是千差万别,(有的人主张采用脚本来解决;有的则想重定向到别的页面;有的则将此问题提升到Token的角度)为什么会有如此大的差异呢?
首先,我们应该先了解为什么要处理这样的问题?或者专业一点就是它适合的场景是什么?(似乎只有人来问没有人来解释)
1。重复提交、重复刷新的场景
重复提交、重复刷新都是来解决系统重复记录的问题。也就是说某个人在多次的提交某条记录(为什么?也许是闲了没有事情干的;最有可能是用户根本就不知道自己的提交结果是否已经执行了?!)。
但出现了这样的问题并不见得就必须处理,要看你所开发的系统的类别而定。比如你接手的是某个资源管理系统,系统本身从需求的角度根本就不允许出现"重复"的记录,在这样需求的约束条件下,去执行重复的提交动作只会引发“业务级异常”的产生,根本就不可能执行成功也就无所谓避免不避免的问题了。
了解了重复刷新、重复提交的场景,我们来了解一下"防止后退"操作的原因是什么?比如你在开发某个投票系统,它有很多的步骤,并且这些步骤之间是有联系的,比如第一步会将某些信息发送给第二步,第二步缓存了这些信息,同时将自身的信息发送给了第三步。。。。。等等,如果此时用户处在第三步骤下,我们想象一下某个淘气用户的用户点击了后退按钮,此时屏幕出现了第二步骤的页面,他再次的修改或者再次的提交,进入到下一个步骤(也就是第三步骤),错误就会在此产生?!什么错误呢?最为典型的就是这样的操作直接导致了对于第一个步骤信息的丢失!(如果这样的信息是依靠 Request存放的话,当然你可以存放在Session或者更大的上下文环境中,但这不是个好主意!关于信息存放的问题,下次在就这个问题详细的讨论)
当然很多的系统(比如订票系统从需求上本身是允许个人重复订票的)是必须要避免重复刷新、重复提交、以及防止后退的问题的,但即使是这样的问题,也要区分如何处理以及在哪里处理的(网上只是告诉你如何处理,但很少去区分在哪里处理的),显然处理的方式无非是客户端或者服务器端两种,而面对不同的位置处理的方式也是不同的,但有一点要事先声明:任何客户端(尤其是B/S端)的处理都是不可信任的,最好的也是最应该的是服务器端的处理方法。
面对客户端我们可以使用Javascript脚本来解决,如下
由于测试时没有再现,也不知道数据库重复数据的来源(有一点可以肯定数据不是手动添加的)希望大家帮帮忙。谢谢
用hibernate作为持久层,update是出现了重复记录。奇怪了,为什么会明明是update,怎么可能出现添加一条记录的结果呢?
由于在操作过程中,修改了某个属性(字段),可以update成功。但我在页面中的另一个属性(它有一个回车操作去从数据库拿另外的数据来更新)中修改,就会出现添加一个新的记录。WHY?
我仔细看了一下日志,两个不同的操作sql真不一样,一个是用insert,另一个是用update语句。反过来的想了想有关pojo相等的比较原理。
我于是有了几个想法,来测试。
1)两个对象的比较(equals)规则的可能出错了。
在我记忆中,pojo对象默认的equals方法是用主键来认识,两个对象是否相等。以前没有重写equlas方法和hashCode方法。对于不是很熟悉hibernate的我来说,还是决定重写这两个方法。编译完,重启tomcate,问题依旧。
仔细看了一下saveOrUpdate()这个方法的文档。saveOrUpdate方法能通过现个对象的equals方法来区分,到底是要insert还是要update。看来这个应该没有问题。
3)经过上面两步的推理。难道是要修改对象的关键字的值被漏掉了吗?
我追踪了主鍵值,由于主键值在页面是在一个隐藏域。当操作出错属性(它有一个回车操作去从数据库拿另外的数据来更新)返回时,查看了页面的源代码,果然,隐藏域的值为空。原来在我返回页面时,忘记给它保存原来的值了。
经过一番折腾,终于搞定了。:)
在编码过程中一定要仔细,严谨,平时多注意理论知识的积累,理论联系实践。
浏览器看视频遇到未知错误解决方法:
(1)进入菜单-设置-清除记录-勾选页面缓存-清除;
(2)进入菜单-设置-浏览器设置-更改浏览器标识(UA);
(3)进入菜单-设置-极速/省流-打开云端加速后更改图片质量;
(4)进入菜单-设置-极速/省流-打开/关闭云端加速;
(5)进入手机网络设置更改接入点,改为net/wap,或者使用wifi。
(6)将文件离线下载至网盘,再从网盘下载至本地。
IE浏览器出错崩溃的解决方法:
一、打开IE,打开Internet选项,点击删除历史记录。
二、注册IE主键。
1、在开始单击运行。
2、在运行的窗口输入regsvr32 jscript.dll,点击“确定”出现:注册成功。
3、在运行的窗口输入regsvr32 vscript.dll,点击“确定”出现:注册成功。
4、如果两次出现注册成功提示,表示您已经成功修复IE组件,修复完成后关闭所有IE浏览器,重新打开IE试一试。
三、调整隐私安全等级为“中“
IE选项中隐私安全等级过高,检查“Internet选项”中“隐私”是否设置过高,如果过高,调整为“中”。
打开IE,打开Internet选项,在“高级”项,点击“重置”,再次点击重置按钮,即可对IE进行重置操作。
注意:如果是使用网络代理的用户,请预先备份好IE主页、代理服务器等设置。