调用javabean 的问题,在线结帖
异常信息:
java.lang.NullPointerException
java.util.HashMap.<init>(HashMap.java:210)
xql.shopping.testCart.getCart(testCart.java:141)
org.apache.jsp.xql.shopping.testCart_jsp._jspService(testCart_jsp.java:93)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
对应代码
141处:
public HashMap getCart(){
HashMap returnCart = new HashMap(cart);
return returnCart;
}
93处
public void addItem(String itemName,int itemNumber){
int oldNumber = 0;
try{
oldNumber = (((Integer)(cart.get(itemName))).intValue());
cart.put(itemName,new Integer(itemNumber+oldNumber));
}catch(NullPointerException e){
}
}
问题点数:100、回复次数:10Top
1 楼drugon(更高,更远,更强)回复于 2005-02-24 12:20:10 得分 0
又是catch里面什么都不写的,这样你怎么确定是哪个地方出错了,你以为就一定是这里?那到不一定是这个地方出错了。
先在catch里面把异常输出来,如
catch(NullPointerException e)
{
System.out.println(文件名+类名+方法名+e);
}Top
2 楼drugon(更高,更远,更强)回复于 2005-02-24 12:21:17 得分 80
别人还不知道你的cart是怎么得到的,有可能它就没有被初始化。
Java中所有的对象在使用之前都要初始化的,不然就报上面的错误。Top
3 楼wingtrace(虽然生活很艰苦,但是我们也不能做禽兽)回复于 2005-02-24 12:22:52 得分 10
抄书也要抄一本好书,不要见书上的代码就模仿,要先分析一下书上的东西是怎么回事。:)
看一本烂书还真的能把人给害了。。Top
4 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-02-24 12:23:34 得分 0
应该是cart这个变量还是null
你可以这样试试
if(cart==null) System.out.println("null occurs");
这样测试是不是这个问题Top
5 楼wingtrace(虽然生活很艰苦,但是我们也不能做禽兽)回复于 2005-02-24 12:37:46 得分 0
其实更简单的做法是用Eclipse调试,在Breakpoints里面选中(如果没有就添加)
“NullPointerException: caught and uncaught”,以后每次遇到NullPointerException异常的时候都会自动断点。其它IDE好像也有类似的功能,不过我不清楚。Top
6 楼huangdeji(活着就是等死)回复于 2005-02-24 12:55:48 得分 0
楼上的我问一下。
jBuilder有没有你说的那种自动断点的功能啊?
谢谢你了。Top
7 楼jFresH_MaN(十一月的萧邦-夜曲)回复于 2005-02-24 13:02:19 得分 0
每个IDE都会有的
Top
8 楼SInoyew(天行杨)回复于 2005-02-24 13:02:57 得分 0
先在catch里面把异常输出来,一步步找原因比较好。
Top
9 楼kaymo( 。。。 )回复于 2005-02-24 14:01:38 得分 10
自己调试,找出原因好Top
10 楼xuytf(不断学习不断忘记)回复于 2005-02-24 14:36:29 得分 0
菜鸟谢谢各位的帮助。
问题找到了。是别的原因(查看JSP转换后的java源码)。
尤其感谢drugon(想换工作,准备跳槽................................)
结贴!Top




