qq_36285685 2016-10-16 18:07 采纳率: 40%
浏览 1272
已采纳

sevlet空值异常 一直报preparedStatement的错误

家里所有的servlet都存在这个问题 会不会是软件版本的问题?
同学写的在他那里可以运行的项目在我这也是servlet报空值异常
而老师给的项目代码却可以运行
贴下面一个我写的代码 比较长;
//连接数据库的BaseDao
public class BaseDao {

private String driverClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";// 数据库驱动字符串
private String url = "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=boardroom";// 连接URL字符串
private String username = "sa";// 数据库用户名
private String password = "sa";// 数据库用户密码

Connection connection = null;
PreparedStatement ps = null;

public Connection getConnection() {
    if (connection == null) {
        try {
            Class.forName(driverClassName);
            connection = DriverManager.getConnection(url, username,
                    password);
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
    return connection;
}

//查询方法
public ResultSet ExQuery(String sql, Object[] objects) {
ResultSet rsResultSet = null;
connection = getConnection();
try {

        ps = connection.prepareStatement(sql);
        if (null != objects) {
            for (int i = 0; i < objects.length; i++) {
                ps.setObject(i + 1, objects[i]);
            }
        }
        rsResultSet = ps.executeQuery();
    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return rsResultSet;
}

}
//接口实现所要使用的方法
图片说明
//继承接口 重写方法
图片说明
//表单action="MServlet"
图片说明
//web.xml中的servlet配置
图片说明
//servlet的post方法调用
图片说明

有没有大神能够解决一下 是不是编码不一致导致的request得到的值是null?那要自己改?项目的编码我都改成了UTF-8
而报错点一直指在BaseDao的ps = connection.prepareStatement(sql);这里
我如果在控制台测试我的BaseDao是可以进行数据库操作的

  • 写回答

4条回答 默认 最新

  • kay-_- 2016-10-17 02:36
    关注

    你输出看下connection 是不是null, 看你报错的地方,获得的connection应该是空的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺
  • ¥50 如何增强飞上天的树莓派的热点信号强度,以使得笔记本可以在地面实现远程桌面连接
  • ¥15 MCNP里如何定义多个源?
  • ¥20 双层网络上信息-疾病传播
  • ¥50 paddlepaddle pinn
  • ¥20 idea运行测试代码报错问题
  • ¥15 网络监控:网络故障告警通知
  • ¥15 django项目运行报编码错误
  • ¥15 STM32驱动继电器