运行一个jsp程序出现这样的提示错误:java.lang.NullPointerException

全部的提示信息如下:
HTTP Status 500 -

--------------------------------------------------------------------------------

type Exception report

message

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

exception

org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

root cause

java.lang.NullPointerException
org.apache.jsp.reading_jsp._jspService(reading_jsp.java:93)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.

--------------------------------------------------------------------------------

Apache Tomcat/5.0.28
我是刚学jsp的,所以很多地方还不明天,希望大家可以帮帮忙!!
92行到98行代码如下:
Connection conn = linejdbc.getopenConnection();
PreparedStatement s = conn.prepareStatement("select * from student where S_id=? and S_psw=?");
s.setString(1,userNow);
s.setString(2,password);
ResultSet result = s.executeQuery();

第1个回答  2007-03-28
此情况就是空指针异常,很有可能是你只声明了一个对象类型的变量,此变量没有被初始化,(没有这个过程,如Text t=new Text()).或者是你用一个对象类型的变量去对应一个方法的反回值(如:Text t=getText())而此时,getText()没有反回一个Text型的对象,而反回null.
你可以到如:C:\Tomcat 5.0\work\Catalina\localhost下找到你的项目名,里面有你要找的reading_jsp.java.在第93行.看看是什么为null了.
第2个回答  2007-04-02
Connection conn = linejdbc.getopenConnection();
应该是连接没有建立成功,conn是一个空值,你可以在这里
判断一下看看conn是不是等于null。如果要解决问题的话,还是要看
getopenConnection方法里代码,应该是这里面有问题,才返回一个null.
第3个回答  2007-04-02
s.setString(1,userNow);
s.setString(2,password);
ResultSet result = s.executeQuery();
你还没有执行SQL语句,你就来提取你的数据了!!!!
你应该先执行ResultSet result = s.executeQuery();
再来
s.setString(1,userNow);
s.setString(2,password);
并且
ResultSet result = s.executeQuery();
会得到空数据
所以应该
try {
s.setString(1,userNow);
s.setString(2,password);
}
catch(SQLException sqle) {
out.print("你查询的数据不存在");//在jsp中才可以使用out对象!!
}本回答被网友采纳
第4个回答  2007-03-28
空指针异常,看看是不是有的指针没有初始化或者数组越界之类的
第5个回答  2007-04-09
空指针异常
首先连接了数据库。看看从数据库得到了值没有.
建议还是用调试看看哪没获得值
相似回答