为什么??为什么??为什么??
    为什么啊???
        在linux下开发了一个JDBC的程序连接mysql的,是纯JAVA程序,代码如下:
package jdbc;
import java.sql.ResultSet;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;public class Util {

public Connection conn = null;

public PreparedStatement ps = null; public void getConnection() {
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/xiesisi","root", "root");
                conn.setAutoCommit(false);
}catch(Exception e) {
System.out.println("Exception");
e.printStackTrace();
}
} public PreparedStatement getStatement(String sql) {
try {
ps = conn.prepareStatement(sql);
} catch (SQLException e) {
e.printStackTrace();
}
return ps;
} public void commit() {
try {
conn.commit();
} catch (SQLException e) {
e.printStackTrace();
}
}

public void close() {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}        public static void main(String args[]) { try {
Util u = new Util();
u.getConnection();
PreparedStatement ps = u.getStatement("select * from userinfo");
if(ps!=null) {
ResultSet rs = ps.executeQuery();
int i = 0;
while(rs.next()) {
i = i + 1; 
}
System.out.println("seccess" + i);
}
else
System.out.println("error");
} catch (Exception e) {
System.out.println("Exception");
}
}
}
编译没有问题,执行也没有问题,输入结果是
seccess3
因为数据库中有三条数据。然后我在JSP页面中调用我写的这个类的方法,执行同样的命令,为什么就报空指针异常??
java.lang.NullPointerException
jdbc.Util.getStatement(Util.java:27)
dao.UserInfoDao.getUserInfos(UserInfoDao.java:18)
org.apache.jsp.index_jsp._jspService(index_jsp.java:77)
          more…………
我在tomcat的common/lib和shared/lib下都加入了mysql-jdbc的驱动包mysql-connector-java-5.1.6-bin.jar
在我这个JSP项目的lib也加入了这个驱动包,但是一直报500的空指针错误。谁能帮忙解决下??

解决方案 »

  1.   

    我终于发现了,因为我是远程访问的数据库,连接就被拒绝了,但是我照网上说的,然后又改了数据库的权限,但是我用sqlyog工具去连接数据库还是连接不上……
      

  2.   

    完全没问题,甚至我在远程机器用windows写了一个JAVA的JDBC的程序连接linux下的远程服务器都没问题了。但用这个JSP还是访问不了 还是空指针
      

  3.   

    现在用sqlyog能连上了
      因为修改了一下权限问题
          但用JSP连接不上……