JavaBean中的方法:
public List queryAllStu() {
List stus = new ArrayList();
try {
pstmt = conn.prepareStatement("select * from studentinfo");
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
stuInfo stu = new stuInfo();
stu.setId(rs.getInt(1));
stu.setNicheng(rs.getString(2));
stu.setTruename(rs.getString(3));
stu.setXb(rs.getByte(4));
if (rs.getDate(5) != null) {
stu.setCsrq(rs.getDate(5).toString());
}
stu.setZy(rs.getString(6));
if (rs.getString(7) != null) {
stu.setKc(rs.getString(7).split("&"));
}
if (rs.getString(8) != null) {
stu.setXq(rs.getString(8).split("&"));
}
stu.setBz(rs.getString(9));
stus.add(stu);
}
return stus;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
jsp页面:
你看下控制台,,,截图发上来,,,八成是异常了,,然后
e.printStackTrace();
return null;
你在java代码中调用stuInfoService.queryAllStu()有返回值么 debug下
数据里有信息又不代表你的sql执行啦 debug、看看pstmt = conn.prepareStatement("select * from studentinfo");
ResultSet rs = pstmt.executeQuery(); 这两步执行了没 看看rs有值没 要不然就是你返回前台数据的方式有问题
这种问题 最简单就是debug 下,你这估计是中间的代码块抛异常了,所以在catch里面返回了null
这个错误不是e.printStackTrace(); 打印异常了吗 ,看看错误是什么,一般是数据类型不匹配,数组越界,要不就是你的数据库连接没成功
问题解决了,是jdbc的jar包出了问题无法识别byte类型的变量。