JSP新手请教:一个程序出错,贴出提示请知道的给解答一下,谢谢!

来源:百度知道 编辑:UC知道 时间:2024/06/08 19:39:33
我以前学习的是ASP,现在刚刚接触JSP,从网上下了一个JSP+MSSQL的程序,测试的时候出错啦,出错信息如下:
type Exception report

message

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

exception

org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 99

96: <div style="overflow:hidden;height:20px;"><MARQUEE onmouseover=this.stop() onmouseout=this.start() scrollAmount=1 scrollDelay=4 height=20 width=390 align="left">
97: <table><TR> <%String sql11="select top 3 * from artical where class=2 order by artid desc";
98: ResultSet rs11=db.executeQuery(sql11);
99: while(rs11.next()){ %>
100:
101: <TD class=listbga vAlign=top width=10><IMG src="Skin/webui_07AT/a3.gif">&l

把页面贴出来看看
看看ResultSet rs11=db.executeQuery(sql11); 中那个DB定义的正确不

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

错误提示是:空指针异常,
出现这个错误是因为你所使用的对象为NULL,这时调用对象的属性或方法就会出错.

page /index.jsp at line 99
99: while(rs11.next()){ %>

错误里明确指出了,99行错误,在这一行唯一的对象就是rs11
这个对象是执行SQL的结果,

在这里你调用了db.executeQuery()

这个db应该是你这个例子中自定义的类,
我猜测在这里有对SQL执行异常的处理,所以执行到99行才错,而不是这句就出错.

我想问题的原因可能是以下几点.
1.你的mssql数据库中的表不对,或是你建好了库,没有表.
2.你的mssql的版本与书中的要求不符,不支持top 3 这个语法.

回复:

你确定,你连接mssql是正常的吗?

select top 3 * from artical where class=2 order by artid desc
你把这条语句丢到MYSQL中,看看是否能查出结果。

如果有结果的话,看看你的db对象有没有初始化

rs11为空 Query没有执行成功 看样子是sql语句写的不对

ResultSet rs11=db.executeQuery(sql11);
rs11值为null
肯定报空指针异常

空指针,SQL语句有问题