问题描述
但查询结果绝对不为空,我在SQLServer里面直接用sql查过,也没有问题,那个数据库操作的bean在java应用程序里面也测试过,同样的代码,没有问题,但在jsp里就不行了。高手指教会是什么原因呢?<html><head><title>中国.武汉光谷光电产品虚拟市场--->新闻中心</title><style>a{font:12px"宋体","新宋体";text-decoration:none}</style></head><body><%@pagecontentType="text/html;charset=gb2312"%><%@pagelanguage="java"import="java.sql.*,javax.sql.rowset.*,beans.*"%><jsp:useBeanid="sqlbean"scope="page"class="beans.ConnectionPool"type="beans.ConnectionPool"/><%!intid;%><%!Stringtitle="";%><%@includefile="include/head.html"%><throwspan="2"bgColor=#ffcc66height=27width=307><%CachedRowSetcst=sqlbean.executeQuery("SELECT*FROMnewsType_tWHEREnewsTypeId='1'");try{while(cst.next()){title=cst.getString("newsTypeName");}%><divalign=left><imgheight=15src="image.files/bk.gif"width=16><%=title%></div><%cst.close();}catch(Exceptione){out.println("getSystemTableStr:"+e.toString());}%></th></table></html>
解决方案
解决方案二:
错误贴出来看看
解决方案三:
这是上面程序显示的结果getSystemTableStr:java.lang.NullPointerException在没有加try,catch前,显示cst.next()出错HTTPStatus500-typeExceptionreportmessagedescriptionTheserverencounteredaninternalerror()thatpreventeditfromfulfillingthisrequest.exceptionorg.apache.jasper.JasperException:AnexceptionoccurredprocessingJSPpage/news.jspatline2219:20:CachedRowSetcst=sqlbean.executeQuery("SELECT*FROMnewsType_tWHEREnewsTypeId='1'");21:22:while(cst.next())23:{24:25:Stacktrace:org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:522)org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:433)org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:363)org.apache.jasper.servlet.JspServlet.service(JspServlet.java:306)javax.servlet.http.HttpServlet.service(HttpServlet.java:722)rootcausejava.lang.NullPointerExceptionorg.apache.jsp.news_jsp._jspService(news_jsp.java:115)org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:68)javax.servlet.http.HttpServlet.service(HttpServlet.java:722)org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:387)org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:363)org.apache.jasper.servlet.JspServlet.service(JspServlet.java:306)javax.servlet.http.HttpServlet.service(HttpServlet.java:722)noteThefullstacktraceoftherootcauseisavailableintheApacheTomcat/7.0.4logs.ApacheTomcat/7.0.4
解决方案四:
是不是executeQuery的返回值有问题或者把数据库异常隐藏在CATCH中了然后返回的空指针?
解决方案五:
试过好多种方法了,无解。哎,我要崩溃了。要命的是,我这个代码以前是没有问题的。也就是说,同样的代码在十年前是可以正确显示的。
解决方案六:
我也经常碰到空异常,一般都是忘了new对象了。呵呵。