同样的代码,在tomcat5.0上可以运行通过,到了tomcat5.5上就提示nullpointexcption,有谁知道为什么吗?

解决方案 »

  1.   

    你算不错了。我在tomcat5.0上可以运行通过一个项目是struts框架做的
    到在tomcat6.0上可以运行就报错了而且是整个项目都报错
      

  2.   

    是关于数据库操作的信息,提示出错的代码如下:
    sql="insert into wjxx(wjmc,wjms,ctr,time) values('"+wjxx.getWjmc()+"','"+wjxx.getWjms()+"','"+wjxx.getCtr()+"','"+wjxx.getTime()+"')";
    smt.executeUpdate(sql);//指示该行出错
    但在tomcat5上没有如何问题,所以我觉得应该不是代码的问题。
      

  3.   

    数据库驱动的问题?或者tomcat连接池的问题?
      

  4.   

    package com.bean;import java.sql.*;
    import java.util.Calendar;
    import java.util.GregorianCalendar;public class WriteinWjxx {
    private Wjxx wjxx;
    private Connection con;
    private Statement smt;

    private int wjbh;
    private String sql;

    public WriteinWjxx(){
    try{
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
    String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=wj";
    con= DriverManager.getConnection(url,"wj","wj");
    smt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    }
    catch(Exception e){
    e.printStackTrace();
    }
    }

    public void setWjxx(Wjxx wjxx){
    this.wjxx=wjxx;
    }

    public void write() throws Exception{

    try{

    sql="insert into wjxx(wjmc,wjms,ctr,time) values('"+wjxx.getWjmc()+"','"+wjxx.getWjms()+"','"+wjxx.getCtr()+"','"+wjxx.getTime()+"')";
    smt.executeUpdate(sql);//这里报错!!
    }catch(Exception e){
    e.printStackTrace();
    throw e;
    }
    }

    }
    为什么会出现nullpointexcption错误啊??
      

  5.   

    要么是sql不规范(从只有nullPoint来看,可能性不是很大),要么是sql= "insert   into   wjxx(wjmc,wjms,ctr,time)   values( ' "+wjxx.getWjmc()+ " ', ' "+wjxx.getWjms()+ " ', ' "+wjxx.getCtr()+ " ', ' "+wjxx.getTime()+ " ') "中的wjxx为空,弄明白wjxx这个为什么是空的可能才是最重要的
      

  6.   

    是不是write() 方法中调用的wjxx和别的程序中(也就是向wjxx中传值的程序),分别用了两个实例方法,也就是用了两次
    Wjxx wjxx = new Wjxx();这样的话会使本次调用时wjxx为空
      

  7.   

    不要只看错误,看看你的数据库的JAR包是不是和TOMCAT不兼容,我以前也出现过这样的问题。问题不是很大,换个包,然后在源代码中稍微修改就可以了
      

  8.   

    原因可能是:
    private   Connection   con; 
    private   Statement   smt; 
    smt没有进行初始化,改成Statement   smt = null;
    再试一下,可能会好