一张jsp页面中有大量的mysql数据库查询,然后在浏览器多次刷新这张张页面,会出现异常。
在netbean中,写了一张jsp页面,用一个java类来连接mysql数据库,页面中有大量的sql查询语句和结果集,第一次运行这个jsp页面,浏览器正常显示,但多次刷新...
在netbean中,写了一张jsp页面,用一个java类来连接mysql数据库,页面中有大量的sql查询语句和结果集,第一次运行这个jsp页面,浏览器正常显示,但多次刷新后,就出现异常。
=============jsp简化代码:============================
<body>
<jsp:useBean id="db" class="MySQL_DB.DB" scope="page"/>
<%
int i=0;
ResultSet temp_rs=null;
for(i=1;i<=20;i++)
{
temp_rs=db.execute_query ("select * from tb_movie where flag='1' "); temp_rs.close();
}
%>
==================================================
说明:useBean id="db" 为连接数据库和查询的java类。上面只贴出关java代码,html的代码省略。
为什么用了for循环,进行了大量查询后,在IE中多次刷新页面,页面会出现异常?
另然,jsp页面中有大量我的sql查询并返回结果集用什么方法更好?
把for循环的i<=20改为i<=100或更大的值时,刷新两欠页面,就出报错,值较小时,要刷新10多次才出现异常:
异常如下:
=====================================================
type Exception report
message
descriptionThe server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: java.lang.NullPointerException
root cause
java.lang.NullPointerException
note The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 3.0.1 logs.
============================================================= 展开
=============jsp简化代码:============================
<body>
<jsp:useBean id="db" class="MySQL_DB.DB" scope="page"/>
<%
int i=0;
ResultSet temp_rs=null;
for(i=1;i<=20;i++)
{
temp_rs=db.execute_query ("select * from tb_movie where flag='1' "); temp_rs.close();
}
%>
==================================================
说明:useBean id="db" 为连接数据库和查询的java类。上面只贴出关java代码,html的代码省略。
为什么用了for循环,进行了大量查询后,在IE中多次刷新页面,页面会出现异常?
另然,jsp页面中有大量我的sql查询并返回结果集用什么方法更好?
把for循环的i<=20改为i<=100或更大的值时,刷新两欠页面,就出报错,值较小时,要刷新10多次才出现异常:
异常如下:
=====================================================
type Exception report
message
descriptionThe server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jasper.JasperException: java.lang.NullPointerException
root cause
java.lang.NullPointerException
note The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition 3.0.1 logs.
============================================================= 展开
3个回答
展开全部
当db.execute_query(“SELECT * FROM tb_movie标志= '1'”);此方法调用,如果返回的是空,那么下一个方法的调用temp_rs.close();由于temp_rs是空的,自然会报告java.lang.NullPointerException空指针异常
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
db.execute_query ("select * from tb_movie where flag='1' ");这个方法的调用如果返回的是null,那么执行下一个方法调用temp_rs.close();时,由于temp_rs为空,自然就会报java.lang.NullPointerException 空指针异常
更多追问追答
追问
查询的结果不可能是空的,数据库那边是设置好了的,能正常显示,只是在多次刷新页面后,会出现异常,再刷新几次又正常,接着再刷新,就又也现异常了,这样交替出现,感觉和缓冲区有关样。
追答
也可能和容器的session管理有关系,话说测试的时候是用本机浏览器测试配置在本机(localhost)上的网络应用吗?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
关闭connection
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询