java.lang.NullPointerException错误

rsp0925 2003-08-20 03:40:00
编译通过,引用bean时,报java.lang.NullPointerException错

代码如下:

package odbcbean;

import java.sql.*;

public class Opendb4 {

String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
String sConnStr="jdbc:odbc:cert";
Connection conn=null;
ResultSet rs=null;

public Opendb4() {
try {
Class.forName(sDBDriver);
}
catch(java.lang.ClassNotFoundException e){
System.err.print(e.getMessage());
}
}

public ResultSet executeQuery(String sql){
rs=null;
try{
Connection conn=DriverManager.getConnection(sConnStr);
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException ex){
System.err.print(ex.getMessage());
}
return rs;
}
}
...全文
55 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
farmer0512 2003-08-20
  • 打赏
  • 举报
回复
不好意思,应该是java.lang.NullPointerException e
rsp0925 2003-08-20
  • 打赏
  • 举报
回复
我找到了,谢谢各位的参与!
rsp0925 2003-08-20
  • 打赏
  • 举报
回复
to farmer0512(风总是朝我吹):

//加上看看
catch(java.lang.ClassNotFoundException e){
System.err.print(e.getMessage());
}


编译时:
Opendb4.java:32: exception java.lang.ClassNotFoundException is never thrown in body of corresponding try statement
catch(java.lang.ClassNotFoundException e){
^
1 error
rsp0925 2003-08-20
  • 打赏
  • 举报
回复
to scbb(星际Baby):

} catch (Exception e) {
e.printStackTrace();
}

调用jsp,什么都没有.
farmer0512 2003-08-20
  • 打赏
  • 举报
回复

try{
Connection conn=DriverManager.getConnection(sConnStr); //可能会抛出NullPointerException。
Statement stmt=conn.createStatement();
rs=stmt.executeQuery(sql);
}
catch(SQLException ex){
System.err.print(ex.getMessage());
}//加上看看
catch(java.lang.ClassNotFoundException e){
System.err.print(e.getMessage());
}

scbb 2003-08-20
  • 打赏
  • 举报
回复
换成
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="java.sql.*"%>

<jsp:useBean id="Opendb" class="odbcbean.Opendb4" scope="page" />
<HTML>
<BODY>
<%
String sql="select *from users";
try {
ResultSet rs=Opendb.executeQuery(sql);

while (rs.next()){
out.println(rs.getString("username")+"<br>");
}
} catch (Exception e) {
e.printStackTrace();
}
%>
</BODY>
</HTML>

看看打出来什么错误??
scbb 2003-08-20
  • 打赏
  • 举报
回复
Connection conn=null;
.......
Connection conn=DriverManager.getConnection(sConnStr);

你用了好多connection哦。
rsp0925 2003-08-20
  • 打赏
  • 举报
回复
jsp页面是这样的:

<%@ page contentType="text/html;charset=gb2312" %>
<%@ page import="java.sql.*"%>

<jsp:useBean id="Opendb" class="odbcbean.Opendb4" scope="page" />
<HTML>
<BODY>
<%
String sql="select *from users";
ResultSet rs=Opendb.executeQuery(sql);

while (rs.next()){
out.println(rs.getString("username")+"<br>");
}
%>
</BODY>
</HTML>


也是报:

java.lang.NullPointerException
at org.apache.jsp.test$jsp._jspService(test$jsp.java:96)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:202)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)

.......
.......

at java.lang.Thread.run(Thread.java:536)
pzl686 2003-08-20
  • 打赏
  • 举报
回复
有一点可以肯定你调了空引用
zeros 2003-08-20
  • 打赏
  • 举报
回复
你必须先调用Opendb4()方法,然后再调用executeQuery(String sql)方法!
而且每次当一个连接用完以后你都必须调用Opendb4()方法.
你的这个错误一定是连接为空了!
三合一 2003-08-20
  • 打赏
  • 举报
回复
出错的是jsp页面
pzl686 2003-08-20
  • 打赏
  • 举报
回复
估计是数据库连接有问题.conn==null
jiangtou 2003-08-20
  • 打赏
  • 举报
回复
跑到哪行出的错
rsp0925 2003-08-20
  • 打赏
  • 举报
回复
是这样的,

java.lang.NullPointerException
at org.apache.jsp.users$jsp._jspService(users$jsp.java:97)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:202)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:190)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2343)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:468)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
at org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1012)
at org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1107)
at java.lang.Thread.run(Thread.java:536)

scbb 2003-08-20
  • 打赏
  • 举报
回复
把Exception贴出来。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧