连接数据库,NullPointerException异常,求解释
问题补充说明:在本机测试没有一点问题,但是把项目部署到服务器上之后,前2天可以正常运行,过2天就开始报NullPointerException,重启服务器之后又能正常运行几天, 请问各位高手 有什么遇到这里情况 或者告诉小弟 大概是哪的问题 谢谢
NullPointerException这个异常出现在处理对象读湖尔前的时对象不存在但又没有捕捉到进行处理的时候,但是在JAVA里面它又是被大多断片的类所抛出,所以它经常会不经意的出现在你的面前。在api里的原文说明是这样的她:Thrownwhenanapplicationattemptstousenullinacasewherea化快象画换相车nobjectisrequired.Theseinclude:
*Cal师视架吗蛋气集菜律lingtheinstancemethodofanullobject.
*Accessingormodifyingthefieldofanullobject.
*Takingthelengthofnullasifitwereanarray.
*Accessingormodify危ingtheslotsofnullasifitwereanarray.
*ThrowingnullasifitwereaThrowablevalue.
Applicationsshouldthrowinstancesofthisclasstoindicateotherillegalusesofthenullobject.
据我自己的统计,型怎利百讨在我的代码中,出现频率最多的吸送副右露类是String移.class,因此我们就以String为例来看一下怎么避免在使用这个类的时候遇到NullPointerException。
从JAVA的源低代码来看,Str般眼粮坏ing这个类一共在两个向地方就抛出了NullPointerException这个异常,一个是String的一个构造方法,一个是toLowerCase这个方法,所以在用到这两个方法的时候最好捕捉一下异常。
还有经常遇到的是equals这个方法,equals出现NullPointerException异常是因为对象不存在造成的。如果是变量和常量的比较,比如str.equals("thisisastring."),如果str==null。那么就女利会出现NullPointerException,怎么解决呢,就是把常量和变量的位置互换,"thisisastring.".equals(str),钢测这样就不会再见到NullPointerException了。
在jsp中经常会有一些form来提交表单给服务器,但是有时候怎表单项并没有填,那析北口有书息白么在jsp程序对传上来的数据进行处理时,就会有异常出现。这时就要在使用这些数据前进行一次判断,如:request江材集夫史止怕旧朝白蒸.getParameter("str"),如果没有任何处理就直接使用的话就有可能出错,但是如果这样
Stringtmp="";
if(request.getP威盾参斯乙因失左arameter("str")!=null)
tmp=request.getParameter("str了样扬星与德候欢防扩");
然后再对tmp进行操作就没有问题了。当然,几乎所有的NullPointerException问题差不多都可以用这个方法解决。
还有在使用JDBC的时候,ResultSet这个对象使用的时候也会经常有NullPointerException异常,一般来说ResultSet出现这个问题主要是sql不对的原因。
标签:NullPointerException,数据库,连接