【加分】JSP出现HTTP Status 500的问题

简单来说就是我首页有两个图片是两个超链接,然后两个图片都链到details.jsp这个网页上去,但是这个网页要根据点进来的图片编号来显示内容结果就出现异常该怎么解决?严重... 简单来说就是我首页有两个图片是两个超链接,然后两个图片都链到details.jsp这个网页上去,但是这个网页要根据点进来的图片编号来显示内容 结果就出现异常 该怎么解决?
严重: Servlet.service() for servlet debugjsp threw exception
java.lang.NullPointerException
at org.apache.jsp.Details_jsp._jspService(org.apache.jsp.Details_jsp:120)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
。。。。。。

那个details的关键代码是
<tr>
<td height="305" align="center" valign="top" background="images/0070420095209135.gif" scope="row" widtd="138"><p class="STYLE4"> </p>
</td>
<td colspan="4" align="left" valign="top" background="images/2008021809220622.gif"><table width="90%" border="1" align="center" cellpadding="0"
cellspacing="0">
<tr>
<%int id;
try {
id = Integer.parseInt(request.getParameter("id"));
} catch (NumberFormatException e) {
id = 0;
}
CDDAO dao=new CDDAO();
CD CD=dao.findCD(id); %>
<td width="90" height="115" valign="top"> </td>
<td valign="top" bordercolor="1"> </td>
</tr>
<tr>
<td height="30" bordercolor="1"> </td>
<td bordercolor="1"><table width="108" border="0" cellspacing="1" cellpadding="0">
<tr>
<td align="center" width="106"><a href="addCDtocart?id=<%=CD.getCDID()%>"
onclick="window.open('shop_cart.asp?id=500047&nowmenuid=500001','shopcart','width=580,height=250,resizable=no,scrollbars=yes')"> <a href="addCDtocart?id=<%=CD.getCDID()%>"><img src="images/BUY.gif" border="0" alt="BUY" /></a></td>
</tr>
帮到忙可以加分 愿意帮我拿过去改的更好啊~~~
展开
 我来答
noone2009
推荐于2016-08-05 · 超过11用户采纳过TA的回答
知道答主
回答量:22
采纳率:0%
帮助的人:0
展开全部
严重: Servlet.service() for servlet debugjsp threw exception
java.lang.NullPointerException
at org.apache.jsp.Details_jsp._jspService(org.apache.jsp.Details_jsp:120)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
。。。。。。
-------------------------------------------
以上说是出现空指针异常,但代码
int id;
try {
id = Integer.parseInt(request.getParameter("id"));
} catch (NumberFormatException e) {
id = 0;
}
已经对此处进行捕捉,问题不是出于上面代码。
关键是id参数的值真正存在于数据库对应的ID值吗?
CD CD=dao.findCD(id);
假如经过
int id;
try {
id = Integer.parseInt(request.getParameter("id"));
} catch (NumberFormatException e) {
id = 0;
}
后,变量id的值为0(),如果数据库中没有id为0或其它对应的值,则
CD CD=dao.findCD(id);
后得到的CD变量指向的是null,也就是根本就不是一个CD对象。
当CD为null时,<%=CD.getCDID()%>自然会出现NullPointerException。

可能原因:
id参数没有获得正确的值,导致dao.findCD(id); 返回null。
在使用CD.getCDID时,应先判断CD是否为空,如:
<%
int id;
try {
id = Integer.parseInt(request.getParameter("id"));
} catch (NumberFormatException e) {
id = 0;
}
CDDAO dao=new CDDAO();
CD CD=dao.findCD(id);
if(CD == null){
//out.println("no info!");
}else{
// 自己看着办吧……
}
%>
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
扶塔f
2009-02-09 · TA获得超过353个赞
知道小有建树答主
回答量:369
采纳率:0%
帮助的人:407万
展开全部
在网址后面加入“?id=x”(x表示你的图片id)应该就可以了
比如你要连接到的网址是
http://localhost:8080/demo/details.jsp
然后你有两张图片,id分别为1和2
那么他们的连接就要分别设为
http://localhost:8080/demo/details.jsp?id=1

http://localhost:8080/demo/details.jsp?id=2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天街夜雨
2009-02-09 · TA获得超过641个赞
知道小有建树答主
回答量:759
采纳率:0%
帮助的人:656万
展开全部
空指针异常...
id = Integer.parseInt(request.getParameter("id"));
检查一下这个 是否为null
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式