那些年很脑残的bugs
1.老师给了前端界面,我们用java写后台。
我改了表单form的action属性,让它跳到自己写的servlet上面去。自己在servlet里面对数据库一顿操作猛如虎,然后让servlet跳回原来页面。
但是测试的时候点了页面上的按钮之后,数据库里面的数据一点变化都没有。
开始一点点排查问题……
数据库连接------没错!
sql语句------没错!
eclipse控制台------没报错!
跳转情况------成功跳回原来界面!
但就是不出结果!
不对,最后回到原来界面真的是通过servlet跳转的吗?
最后看了下地址栏,没有跳转。。。
重新检查jsp代码,action属性没填错啊,就算填错了不也应该报404错误码?
偶然瞥到了按钮的type属性------button。。。。
遂改为submit,一发入魂。
2.因为之前做练习的时候都用mysql配合navicat整数据库,给页面添加功能之前会把sql语句先在navicat里面打一遍看看语法对不对,然后再在后台里面操作。
直到有一天我用了oracle,pl-----启动!删除语句-----编译!pl查询一下结果-----删除成功!
然后给后台加入了删除记录的功能。从页面查询了一下。。。。
为什么我刚刚在pl中删除的记录还在页面上!java这么diao的吗!?!连没有的东西都能查出来!
还是先试试页面的功能吧!
点击页面的删除按钮删除其他记录尝试,检查数据库,删除成功,检查页面的查询结果,同样已经删掉了,但是之前从pl里删除的数据还是挂在页面上。
当时就迷了,灵异事件吗?明明pl里都没有了,你是怎么查到的!大哥!jdbc都删的掉的数据为啥pl里删不掉!
遂,百度,发现,oracle在pl中操作,事务不会自动提交,所以需要在pl中输入“commit;”手动提交事务才能在java的查询中正确显示结果,才算是真正完成了删除事务,而jdbc事务是自动提交的,不用担心这个。mysql在navicat中也是自动提交的,也不用担心。
3.
那些年很脑残的bugs的更多相关文章
- 在Ubuntu里部署Javaweb环境脑残版
最近在瞎折腾Unbunt,喜欢这里的干净和静谧.能留在这里,那么就得在这里工作,于是部署javaweb就成了头件大事了. 咨询了大牛,都说不会命令你玩毛玩linux,但是万万没有想到,原来ubuntu ...
- 脑残手贱:被NFS祸害的调度系统
建议:任何时候,都要三思而后行!!! 事请的缘由 系统中采用slurm调度系统来进行并行计算.但是在GPU节点上,无论如何都无法启动slurmd,报插件初始化错误的故障. 因此需要编译新的munge和 ...
- 脑残式网络编程入门(六):什么是公网IP和内网IP?NAT转换又是什么鬼?
本文引用了“帅地”发表于公众号苦逼的码农的技术分享. 1.引言 搞网络通信应用开发的程序员,可能会经常听到外网IP(即互联网IP地址)和内网IP(即局域网IP地址),但他们的区别是什么?又有什么关系呢 ...
- 脑残式网络编程入门(五):每天都在用的Ping命令,它到底是什么?
本文引用了公众号纯洁的微笑作者奎哥的技术文章,感谢原作者的分享. 1.前言 老于网络编程熟手来说,在测试和部署网络通信应用(比如IM聊天.实时音视频等)时,如果发现网络连接超时,第一时间想到的就是 ...
- 脑残式网络编程入门(四):快速理解HTTP/2的服务器推送(Server Push)
本文原作者阮一峰,作者博客:ruanyifeng.com. 1.前言 新一代HTTP/2 协议的主要目的是为了提高网页性能(有关HTTP/2的介绍,请见<从HTTP/0.9到HTTP/2:一文读 ...
- 脑残式网络编程入门(三):HTTP协议必知必会的一些知识
本文原作者:“竹千代”,原文由“玉刚说”写作平台提供写作赞助,原文版权归“玉刚说”微信公众号所有,即时通讯网收录时有改动. 1.前言 无论是即时通讯应用还是传统的信息系统,Http协议都是我们最常打交 ...
- 脑残式网络编程入门(二):我们在读写Socket时,究竟在读写什么?
1.引言 本文接上篇<脑残式网络编程入门(一):跟着动画来学TCP三次握手和四次挥手>,继续脑残式的网络编程知识学习 ^_^. 套接字socket是大多数程序员都非常熟悉的概念,它是计算机 ...
- [转帖]脑残式网络编程入门(二):我们在读写Socket时,究竟在读写什么?
脑残式网络编程入门(二):我们在读写Socket时,究竟在读写什么? http://www.52im.net/thread-1732-1-1.html 1.引言 本文接上篇<脑残式网 ...
- 脑残式网络编程入门(一):跟着动画来学TCP三次握手和四次挥手
.引言 网络编程中TCP协议的三次握手和四次挥手的问题,在面试中是最为常见的知识点之一.很多读者都知道“三次”和“四次”,但是如果问深入一点,他们往往都无法作出准确回答. 本篇文章尝试使用动画图片的方 ...
随机推荐
- 英国已有500万宽带用户接入并开始使用IPv6技术
2018年英国首家为客户提供IPv6的主要ISP.随着所有现有的符合条件的用户线路启用,约90%的固定宽带用户群接入并开始使用IPv6,为IPv6互联网增加了超过500万个新眼球. 英国IPv6项目于 ...
- spring mvc和spring boot的区别
spring boot只是一个配置工具,整合工具,辅助工具. springmvc是框架,项目中实际运行的代码 Spring 框架就像一个家族,有众多衍生产品例如 boot.security.jpa等等 ...
- python 3.6连接数据库(pymysql方式)
pymysql 模块可以通过 pip 安装.但如果你使用的是 pycharm IDE,则可以使用 project python 安装第三方模块. [File] >> [settings] ...
- php strchr()函数 语法
php strchr()函数 语法 作用:搜索字符串在另一字符串中的第一次出现.直线电机哪家好 语法:strchr(string,search,before_search); 参数: 参数 描述 st ...
- POJ 3728 The merchant (树形DP+LCA)
题目:https://vjudge.net/contest/323605#problem/E 题意:一棵n个点的树,然后有m个查询,每次查询找(u->v)路径上的两个数,a[i],a[j],(i ...
- sqlserver库相关-表相关-3
原文: https://www.cnblogs.com/wlx520/p/4684441.html 库相关 建库 --创建School数据库之前:首先判断数据库是否存在,若存在则删除后再创建,若不存在 ...
- DDL DML DCL的理解
DDL的操作对象是表,不会对具体的数据进行操作. DML的操作对象是记录, DCL的操作对象是数据库对象的权限.
- php常见五种设计模式
php面向对象基础知识 请点击查看 一.常见的设计模式主要有23种,根据使用目标的不同可以分为以下三大类:创建设计模式.结构设计模式.行为模式创建设计模式: (5种)用于创建对象时的设计模式.初始化对 ...
- 提高Service优先级
在onStartCommand()方法中开启一个通知,提高进程的优先级.注意:从Android 8.0(API级别26)开始,所有通知必须要分配一个渠道,对于每个渠道,可以单独设置视觉和听觉行为.然后 ...
- ubuntu14编译安装qt5.0.1
http://hi.baidu.com/houxn22/item/d652f29dec4a701f924f41a0 1.进入官网:http://qt-project.org/downloads下载对应 ...