at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:248)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:289)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:405)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:380)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:508)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:533)
at java.lang.Thread.run(Thread.java:534)
是什么错误? 不知道怎么解决了,高手们帮帮忙,看下是哪里的问题了,谢谢!
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:289)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:405)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:380)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:508)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:533)
at java.lang.Thread.run(Thread.java:534)
是什么错误? 不知道怎么解决了,高手们帮帮忙,看下是哪里的问题了,谢谢!
解决方案 »
- spring 配置注解处理事务时启动tomcat报错 ,在线等....
- 请问这段简单的读取list的action为什么报空指针
- 调用函数时候的参数
- 向兄弟们求助:excel转pdf,根据excel的数据行数决定pdf的页面大小
- 用javamail写一个能接收邮件的JSP页面
- cvs的冲突问题?
- 请教!!!关于TOMCAT5.5的数据库配置问题
- 高分求教DB2+MFC+JSP开发超市系统可行性
- sql server 2000连接问题?在线等!!
- JDBC连接到mysql时发现的新问题,请高手知情者进来看看
- 请高手帮我写一条SQL语句,符合实现的有奖励100分
- fckeditor编缉区里上传完图像后,右击图片-图片属性,打开一个窗口,里面有图片的一些属性,是怎么获取到的
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:248)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:289)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:405)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:380)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:508)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:533)
at java.lang.Thread.run(Thread.java:534)
root cause java.lang.NullPointerException
at book.ShoppingCart.add(ShoppingCart.java:22)
at org.apache.jsp.Add_jsp._jspService(Add_jsp.java:111)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:136)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:204)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:289)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2396)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:405)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:380)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:508)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:533)
at java.lang.Thread.run(Thread.java:534)
我的不是jar文件,没有打包的class文件了,我直接放在common\classes下来
上面的是不是两个错误,第二个好象是add方法有变量末初始化,第一个错误就不
知道了,是不是这样?
at book.ShoppingCart.add(ShoppingCart.java:22)
就这一个错误,没有第二个!!!
把这个错误解决了就行了。在你ShoppingCart.java的22行出现了空指针,肯定是这一行引用的某个变量没初始化。修改一下就行了
JAVABean里肯定是没有问题的了.是调用时没有传参数过去了. 但是我肯定调用的时候也没有问题了.
import java.util.*;
import java.io.*;
import java.util.HashMap;
public class ShoppingCart implements Serializable{
private HashMap items;
private int itemAmount;/*购物车中的数量*/
public void ShoppingCart(){
items=new HashMap();
itemAmount=0;
}
/*向购物车中添加一个商品*/
public synchronized void add(String BookID,Book book,int num){
if(items.containsKey(BookID)){
items.remove(BookID);
ShoppingItem newitem=new ShoppingItem(book,num);
}else{
ShoppingItem newitem=new ShoppingItem(book,num);
itemAmount++;
}
}
<%@ page pageEncoding="GB2312" %>
<%@ page import="java.sql.*,book.*" %>
<%@ include file="datainit.jsp" %>
<html><head><title>Buy</title></head>
<body>
<jsp:useBean id="shopcart" scope="session" class="ShoppingCart"/>
<%
String addpid=request.getParameter("add");
Book temp=null;
int count=1;
String confirm=request.getParameter("confirm");
if(confirm==null || confirm.equals(""))
{
confirm="none";
}
if(addpid!=null && (!addpid.equals("")))
{
temp=(Book)session.getAttribute(addpid);
if(temp==null || temp.equals(""))
{
response.sendRedirect("index.jsp");
}
}
else
{
response.sendRedirect("index.jsp");
}
if(confirm.equalsIgnoreCase("true"))
{
if(request.getParameter("amount")!=null)
{
count=Integer.parseInt(request.getParameter("amount").trim());
}
shopcart.add(addpid,temp,count);
response.sendRedirect("index.jsp");
}
else if(confirm.equals("false"))
{
session.removeAttribute(addpid);
response.sendRedirect("index.jsp");
}
else
{
%>
<form action="Add.jsp " method="get">
<table border="2" align="center">
<thead align="center">
<h2>修改购买商品数量并把它们加入到你的购物车</h2>
</thead>
<tr>
<td>名称</td>
<td>市场价格</td>
<td>普通会员</td>
<td>白金会员</td>
<td>钻石会员</td>
<td>counts</td>
</tr>
<tr>
<td><%= temp.getBookName() %></td>
<td><%= temp.getRealPrice() %></td>
<td><%= temp.getRealPrice()*0.9 %></td>
<td><%= temp.getRealPrice()*0.8 %></td>
<td><%= temp.getRealPrice()*0.7 %></td>
<td><input type="text" size="2" name="amount" value=<%= count %>></td>
</tr>
<input type="hidden" name="confirm" value=true>
<input type="hidden" name="add" value=<%= addpid %>>
<tr>
<td colspan="2" align="center">
<a href="index.jsp">先不买这个商品</a>
</td>
<td>
<a href="Showcart.jsp">查看购物车</a>
</td>
<td colspan="3" align="center">
<input type="submit" size="2" name="buy" value="确定购买"></input>
</td>
</tr>
</table>
</form>
<% } %>
</body>
</html>就是这样三个参数是不是有没有初始化的shopcart.add(addpid,temp,count);
shopcart.add(addpid,temp,count);
response.sendRedirect("index.jsp"); 前面加:
System.out.println("AddPid :"+addpid+",temp :"+temp);看看是不是其中的一个是空值。
如果上面两个都不是空值,将java文件的第22行单独帖上来
这样做根本就不能测试其值是否为空.
是单击"确定购买"后才会再次执行上面的代码.
我把"System.out.println("AddPid :"+addpid);"
放到"String addpid=request.getParameter("add");"后面也不能测试了.
/*向购物车中添加一个商品*/
public synchronized void add(String BookID,Book book,int num){
if(items.containsKey(BookID)){
items.remove(BookID);
ShoppingItem newitem=new ShoppingItem(book,num);
items.put(pid,newitem);
}else{
ShoppingItem newitem=new ShoppingItem(book,num);
items.put(pid,newitem);
itemAmount++;
}
}
22行是: if(items.containsKey(BookID)){
这是URL为:http://localhost:8080/BookShopping/Add.jsp?add=7810824813,
网面信息为:
单击"确定购买"后就有这样的错误. 是不是因为再次调用String addpid=request.getParameter("add");时
addpid的值没有了?
String addpid=request.getParameter("add");
根本就没取到值,因为它始终是空值。原因就在于你第一次给它赋值就是null,以后每次都是null
<input type="hidden" name="add" value=<%= addpid %>>要记得给初始值,也就是用户第一次浏览这个页面的时候没有任何addpid信息,这个时候你要给它一个初始值!!!
addpid第一次是有值的了.. 后面也没有另外给赋值了.
就是弄不懂怎么回事, 因为是按照老师讲的写的.老师运行都没有
错误啊 .
但是这个问题也非常搞笑了.先看下面的代码了:
package book;
import java.util.*;
import java.io.*;
import java.util.HashMap;
public class ShoppingCart implements Serializable{
private HashMap items;
private int itemAmount;/*购物车中的数量*/
public void ShoppingCart(){
items=new HashMap();
itemAmount=0;
}
/*向购物车中添加一个商品*/
public synchronized void add(String BookID,Book book,int num){
System.out.println("out");
if(items.containsKey(BookID)){
System.out.println("if");
items.remove(BookID);
ShoppingItem newitem=new ShoppingItem(book,num);
items.put(pid,newitem);
}else{
System.out.println("else");
ShoppingItem newitem=new ShoppingItem(book,num);
items.put(pid,newitem);
itemAmount++;
}
System.out.println("end");
} 是这样的了.在JSP中调用add方法时,出现上面的错误,但看输出的:
只有输出"out"! 而"if"和"else","end"都没有一个会输出来,
郁闷不? 我现在想是不是我的哪个类定义的有问题的了.
也就是说我的JavaBean的add有問題的了。正在解决中了....