org.apache开头的,明显不是你的代码。apache的一个jar包。不用管。它报错是因为你传给它的值不是它想要的。javax.servlet.http.HttpServlet.service这个也不是你的代码。com.bjsxt.shopping.util.filter.IPFilter.doFilter这个相对来说可能就跟你的关系最经了。这应该是属于你们老师给的代码里的一部分。
接下来找错。
root cause 中的信息。先找com.bjsxt开头的。为什么,因为com.bjsxt离你最近
OK。你看到了两行最近的。我也看到两行:
com.bjsxt.shopping.category.CategoryService.getCategories(CategoryService.java:102)
com.bjsxt.shopping.util.filter.IPFilter.doFilter(IPFilter.java:31)
来。提示信息时NullPointerException;最熟悉的空指针。
从这两行中选。
然后看你问题题目中提到的:
org.apache.jasper.JasperException: An exception occurred processing JSP page /Index.jsp at line 40
注意,这个是最直观的信息 at line 40
好你又找到了line 40,是:
40: List
看。跟我们之前揪出来的两行中的一行:
com.bjsxt.shopping.category.CategoryService.getCategories(CategoryService.java:102)
是不是关系最近对吧。
这个时候,你就可以很肯定的告诉自己告诉别人:
是你com.bjsxt.shopping.category包下的CategoryService类的 getCategories方法在你的第40行执行后,返回的结果是null,null当然就报nullpointException了。
你还可以看到
com.bjsxt.shopping.category.CategoryService.getCategories(CategoryService.java:102)
后面括号里的信息。那是提示你在执行getCategories方法时,代码运行到102行出的错。
大功告成。
讲的比你们老师将得还细。呵呵。开个玩笑。