后台代码报错:看控制台日志,找到控制台中自己的写的类对应的错误代码的那一行:(有些信息是java底层的信息,看不大懂,不用看,看自己写的代码)
然后分析,具体是在类中对应的方法里面打个断点。用Eclipse的debug模式启动,调到断点的那一行,具体问题边跟踪代码便分析。比如空指针最常见的异常,
假如我们正在做增删改操作,假如做根据id删除的功能时报错,看你根据id查找的对象是否为空,然后推理是否id为空,是否id参数没有传递成功等等,一步一步
的找到问题的原因。
如果后台不报错,但是前台页面仍然打不开,或者报错,考虑不是后台代码的问题,而是前台页面代码的问题,用浏览器的debug,例如火狐插件F12,在前台代码中写debugger,进行调试,也可以安装httpwatch来分析数据。
使用调试,可以解决大部分的问题。但有些问题就需要经验来解决:
1.浏览器兼容性问题:
在开发“客户群成员关系图”功能时,用到了关系图组件MxClient库,在开发过程中,发现该组件在IE8及IE9下有兼容性问题:不能展示图形节点的背景 图及样式、不能展示关系图之间的连接线。在IE8兼容模式下、在IE6及IE7下都能正常展示,在IE8标准模式及IE9标准模式下,都不能正常展示。
解决方法:在排查的过程中,发现同样的关系图展示代码,在另外的功能模块,能够正常的展示关系图数据,说明代码没有问题,在经过多次的排查和代码的比较,最终发现原因是在jsp文件当中,“缺少了文档类型定义”引起的。在在JSP页面文件的最前面,增加文档类型定义声明,增加这行代码:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">,经验证,关系图组件库,支持文档类型定义“Strict、Transitional、Frameset”中的“Transitional、Frameset”,不支持“Strict”。HTML 4.01 规定了三种文档类型:Strict、Transitional 以及 Frameset。
2.压力测后出出现连接池不足:解决方法:调整was参数,看代码中是否有链接未关闭的情况。
3.内存泄露:解决方法:分析HEAPDUMP文件,找出问题代码并解决。
4.部分功能场景响应时间太慢,例如客户对私对公基本信息,由于字段多,100多个字段,页面加载很慢,需要关联的表很多,导致加载数据较慢。