HTTP状态500 - --------------------------------------------------------------------------------type 异 常 报 告信 息 描 述 服务器遇到内部错误,无法满足这个访问请求异 常 org.apache.jasper.JasperException
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:395)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
起 因 java.lang.NullPointerException
com.tv.db.DB.callSPUpdate(DB.java:522)
org.apache.jsp.addTVstation_jsp._jspService(addTVstation_jsp.java:87)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)能提示下问题 可能出在哪么?

解决方案 »

  1.   

    DB.Java中的522行,//访问到了空对象!
      

  2.   

    看这种一般情况不要看浏览器中错误提示  应该去Eclipse的console 中去看  因为这里的提示很有可能不准确
      

  3.   

    public int callSPUpdate(String cp, Values vv) throws SQLException {
    StringBuffer pcp=new StringBuffer();
    if (vv.inCount == 0) {
    vv.inCount = vv.size();
    }
    if (vv.size() == 0) {
    pcp.append("{ ? = call ");
    pcp.append(cp);
    pcp.append(" }");
    } else {
    pcp.append("{ ? = call ");
    pcp.append(cp);
    pcp.append(" (");
    for (int i = 0; i < vv.size() - 1; i++) {
    pcp.append("?,");
    }
    pcp.append("?) }");
    }
    CallableStatement proc = connection.prepareCall(pcp.toString());
    proc.registerOutParameter(1,Types.INTEGER);
    int tempsize=vv.size();
    for (int i = 0; i < tempsize; i++) {
    if (i < vv.inCount) {
    proc.setObject(i + 2, vv.getValue(i), vv.getType(i));
    } else {
    proc.registerOutParameter(i+2 , vv.getType(i));
    }
    }
    vv.effactRows = proc.executeUpdate();

    for (int i = vv.inCount; i < tempsize; i++) {
    vv.setValue(i, proc.getObject(i + 2));
    }
    //proc.close();
    return proc.getInt(1);
    }这是这部分的内容 522行是 CallableStatement proc = connection.prepareCall(pcp.toString());该怎么改呢?
      

  4.   

    在console 中  找到 com.tv.db.DB.callSPUpdate(DB.java:522)  鼠标单击后面的 (DB.java:522) 就自动定位到错误所在了  报了空指针异常 可能是一个内容为 “” 的变量 被执行了
      

  5.   

    connection或者pcp为空。前者的可能性大一点。
      

  6.   

    应该是connection为NULL,把你获得connection的代码贴出来!