家里所有的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是可以进行数据库操作的