用Myeclipse 做JSp servlet Oracle 的web应用程序,现在报错http status 500?

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.NullPointerException
com.wh.db.userdao.checkuser(userdao.java:23)
com.wh.servlet.denglu.doPost(denglu.java:34)
com.wh.servlet.denglu.doGet(denglu.java:22)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.29 logs.

Apache Tomcat/6.0.29

这是空指针错误,就是你定义了一个对象,
比如:FileInputStream fis;
但是没有创建这个对象的实例,
就是没有写new FileInputStream(" ");
还调用了这个对象中的函数会出来空指针错误。
下面是我在网上找的解决空指针问题的方法,你看看吧

避免NullPointerException异常的几种常用方法
在写JAVA程序的时候,特别是jsp/servlet之类的东西,经常会有这样一种情况:当然你辛辛苦苦地打下了千百行字母的时候,写完最后一个大括号;当你运行这个程序进行调试时,忽然出现NullPointerException的字样,你是不是很懊丧呢。在以前我肯定会随手拿起桌上的杯子砸了。
  经过了一年多的打字母经历,我渐渐的总结出了一些经验,关于NullPointerException这个恶棍。
  NullPointerException这个异常出现在处理对象时对象不存在但又没有捕捉到进行处理的时候,但是在JAVA里面它又是被大多断片的类所抛出,所以它经常会不经意的出现在你的面前。在api里的原文说明是这样的:Thrown when an application attempts to use null in a case where an object is required. These include:
  * Calling the instance method of a null object.
  * Accessing or modifying the field of a null object.
  * Taking the length of null as if it were an array.
  * Accessing or modifying the slots of null as if it were an array.
  * Throwing null as if it were a Throwable value.
  (1)据我自己的统计,在我的代码中,出现频率最多的类是String.class,因此我们就以String为例来看一下怎么避免在使用这个类的时候遇到NullPointerException。
  从JAVA的源代码来看,String这个类一共在两个地方就抛出了NullPointerException这个异常,一个是String的一个构造方法,一个是toLowerCase这个方法,所以在用到这两个方法的时候最好捕捉一下异常。
  (2)在jsp中经常会有一些form来提交表单给服务器,但是有时候表单项并没有填,那么在jsp程序对传上来的数据进行处理时,就会有异常出现。这时就要在使用这些数据前进行一次判断,如:
  (3)还有在使用JDBC的时候,ResultSet这个对象使用的时候也会经常有NullPointerException异常,一般来说ResultSet出现这个问题主要是sql不对的原因。
  (4)、另外就是创建数组时,java中创建对象不会自动分配内存,这与C语言有不同之处。如
  JButton []btnGroup=new JButton[20];
  for(int i=0;i<btnGroup.length();i++)
  btnGroup[i]=new JButton();
  这样的话就可以避免出现这类异常
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-05
com.wh.db.userdao.checkuser(userdao.java:23)
最开始这个地方报错,debug一下,不就知道了
第2个回答  2011-05-24
你更新程序之后,正确做法是把缓存都清除
第3个回答  2011-05-21
应该是你有个对象没有实例化就去调方法了, 就是你没有去new 就直接去 .方法了
相似回答