目的:在一个Servlet中使用UserDao的方法从t_user表中查询到所有用户,并将该List集合对象存放在request对象中,最后跳转到users页面
但是调用UserDao类的方法queryAll()时出错。
UserDao类代码(DB类是写好的,数据库也已经连接)
public class UserDao {
private com.XXX.jdbc.DB db;
private Connection connection;
public UserDao(String dbFile) {
this.db = new com.XXX.jdbc.DB(dbFile);
this.connection = this.db.getConnection();
}
public List<com.XXX.jdbc.User> queryAll() {
Statement stmt = null;
ResultSet rs = null;
ArrayList users = new ArrayList();
try {
stmt = this.connection.createStatement();
String sql = "SELECT * FROM t_user";
rs = stmt.executeQuery(sql);
while(rs.next()) {
com.XXX.jdbc.User user = new com.XXX.jdbc.User();
user.setId(rs.getInt(1));
user.setUserName(rs.getString(2));
user.setPwd(rs.getString(3));
user.setGender(rs.getString(4));
user.setCategory(rs.getString(5));
user.setInterest(rs.getString(6));
user.setPhoto(rs.getString(7));
user.setRegTime(new Date(rs.getString(8)));
users.add(user);
}
ArrayList var7 = users;
return var7;
} catch (SQLException var10) {
var10.printStackTrace();
} finally {
DB.close((Connection)null, stmt, (ResultSet)null);
}
return null;
}
Servlet代码
public class userList extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
UserDao userDao = new UserDao("text05");
//查询
List<User> userList = new ArrayList<>();
userList = userDao.queryAll();
//userDao.queryAll();即使只执行该句也会失败,即调用UserDao的方法不成功
//将list对象存放在request对象中
req.setAttribute("userList",userList);
//System.out.println(req.getAttribute("userList"));
//请求转发
req.getRequestDispatcher("users.jsp").forward(req,resp);
}
}
报错500
java.lang.IllegalArgumentException
java.util.Date.parse(Date.java:617)
java.util.Date.<init>(Date.java:274)
com.XXX.jdbc.UserDao.queryAll(UserDao.java:99)
com.XXX.jdbc.userList.service(userList.java:18)
javax.servlet.http.HttpServlet.service(HttpServlet.java:582)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
请问这样的错误应该怎么改?