当前位置: 代码迷 >> Eclipse >> 空指针错误,怎么解决
  详细解决方案

空指针错误,怎么解决

热度:93   发布时间:2016-04-23 00:09:18.0
空指针异常,如何解决
环境: Myeclipse2014 , win8.1操作系统, JDK7, tomcat7

运行 top.jsp文件,发生异常,错误信息如下:
org.apache.jasper.JasperExceptionjava.lang.NullPointerException


上次的错误信息也是 Exception(只是指明了错误行在下面红色的代码),这次重启myeclipes后无法重现上次的error报错信息了,只是报错:org.apache.jasper.JasperException: java.lang.NullPointerException。上次报错能定位到 文件 top.jsp的代码,信息是:
<%BasetableFactory bf=BasetableFactory.getInstance();%>
<table id="cpdd" class='box'  style='display:none' onMouseOver="popmenu(this)" onMouseOut="popmenu(this)"  align="center" > 
  <%Collection cpdd=bf.ListSsort("");
  if((cpdd!=null)&&(cpdd.size()>0))
   {    Iterator it=cpdd.iterator();    
   while(it.hasNext())
   {       
    Ssort s=(Ssort)it.next();
%> 


BasetableFactory.java相关代码如下:

public abstract class BasetableFactory {
    private static final String classname = "com.dao.DbBasetableFactory";
    private static BasetableFactory factory;

    public static BasetableFactory getInstance() {
        if (factory == null) {
            try {
                Class c = Class.forName(classname);
                factory = (BasetableFactory) c.newInstance();
            } catch (ClassNotFoundException ex) {
                ex.printStackTrace();
            } catch (IllegalAccessException ex1) {
                ex1.printStackTrace();
            } catch (InstantiationException ex1) {
                ex1.printStackTrace();
            }
        }
        return new BasetableFactoryProxy(factory);
    }


请各位高手帮忙看看: top.jsp这行代码([color=#FF0000]  <%Collection cpdd=bf.ListSsort("");)到底是哪里有问题,如何修改,谢谢?[/color]
------解决思路----------------------
jsp中使用的类你需要用类的全名。
假设我要用一个Java的方法类Date,它的全名为:java.util.Date
要么你在jsp的开头
<%@ page import="java.util.Date" %>

要么你在用的地方这么写
java.util.Date date=new java.util.Date();

------解决思路----------------------
引用:
你可以加一句调试语句   类似如下  伪代码:  
 <%if (bf==null%) %>
alert('null')
用这个方式试试
------解决思路----------------------
学习
  相关解决方案