一个很奇怪的问题 同样的代码,在tomcat5.0上可以运行通过,到了tomcat5.5上就提示nullpointexcption,有谁知道为什么吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你算不错了。我在tomcat5.0上可以运行通过一个项目是struts框架做的到在tomcat6.0上可以运行就报错了而且是整个项目都报错 是关于数据库操作的信息,提示出错的代码如下:sql="insert into wjxx(wjmc,wjms,ctr,time) values('"+wjxx.getWjmc()+"','"+wjxx.getWjms()+"','"+wjxx.getCtr()+"','"+wjxx.getTime()+"')";smt.executeUpdate(sql);//指示该行出错但在tomcat5上没有如何问题,所以我觉得应该不是代码的问题。 数据库驱动的问题?或者tomcat连接池的问题? 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错误啊?? 要么是sql不规范(从只有nullPoint来看,可能性不是很大),要么是sql= "insert into wjxx(wjmc,wjms,ctr,time) values( ' "+wjxx.getWjmc()+ " ', ' "+wjxx.getWjms()+ " ', ' "+wjxx.getCtr()+ " ', ' "+wjxx.getTime()+ " ') "中的wjxx为空,弄明白wjxx这个为什么是空的可能才是最重要的 是不是write() 方法中调用的wjxx和别的程序中(也就是向wjxx中传值的程序),分别用了两个实例方法,也就是用了两次Wjxx wjxx = new Wjxx();这样的话会使本次调用时wjxx为空 不要只看错误,看看你的数据库的JAR包是不是和TOMCAT不兼容,我以前也出现过这样的问题。问题不是很大,换个包,然后在源代码中稍微修改就可以了 原因可能是:private Connection con; private Statement smt; smt没有进行初始化,改成Statement smt = null;再试一下,可能会好 mysql数据库乱码问题 如何在jsp文件里显示<html:errors/>所有内容? jsp读取mysql的blob字段 tomcat出现乱码 js正则问题 关于jsp的include中文问题 高手进来一下,说说解决乱码的方法,感激不尽,小弟所有的分,就此奉上!!!!!!!!!!!! 求救!关于提交的字符串长度的问题 WebLogic在MyEclipse启动失败 window.location.href=house_sh_login 为什么一跳转就成了house_shlogin? 读取网页不完整的问题? 关于JSP显示乱码的问题
到在tomcat6.0上可以运行就报错了而且是整个项目都报错
sql="insert into wjxx(wjmc,wjms,ctr,time) values('"+wjxx.getWjmc()+"','"+wjxx.getWjms()+"','"+wjxx.getCtr()+"','"+wjxx.getTime()+"')";
smt.executeUpdate(sql);//指示该行出错
但在tomcat5上没有如何问题,所以我觉得应该不是代码的问题。
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错误啊??
Wjxx wjxx = new Wjxx();这样的话会使本次调用时wjxx为空
private Connection con;
private Statement smt;
smt没有进行初始化,改成Statement smt = null;
再试一下,可能会好