Я пишу java servlet
, который должен получить dvd от user_id. Но у меня проблема с NullPointerException
. Кто-нибудь знает, как это исправить? Когда я попытался исправить это if (nickname != null)
тогда у меня была проблема с атрибутом DVDs в request.setAttribute("dvds", dvds);
БлагодаряКак исправить NullPointerException
List<Dvd> dvds;
try {
String nickname = request.getParameter("nickname");
User user = userDao.getByLogin(nickname);
Long userId = user.getId();
dvds = this.dvdDao.getDvdsByUserId(userId);
} catch (SQLException e) {
throw new ServletException("Unable to get dvds", e);
}
request.setAttribute("dvds", dvds);
RequestDispatcher dispatcher = request.getRequestDispatcher("WEB-INF/loans.jsp");
dispatcher.forward(request, response);
}
}
public List<Dvd> getDvdsByUserId(Long user_id) throws SQLException {
List<Dvd> dvds = new ArrayList<Dvd>();
Connection connection = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null;
try {
connection = getConnection();
preparedStatement = connection.prepareStatement("SELECT * FROM sedivyj_dvd where user_id = ?;");
preparedStatement.setLong(1, user_id);
resultSet = preparedStatement.executeQuery();
while (resultSet.next()) {
Dvd dvd = new Dvd();
dvd.setId(resultSet.getInt("id"));
dvd.setUser_id(resultSet.getString("user_id"));
dvd.setName(resultSet.getString("name"));
dvd.setBorrower(resultSet.getString("borrower"));
dvd.setMail(resultSet.getString("mail"));
dvd.setBorrow_date(resultSet.getString("borrow_date"));
dvd.setBorrow_until(resultSet.getString("borrow_until"));
dvds.add(dvd);
}
} catch (SQLException e) {
throw e;
} finally {
cleanUp(connection, preparedStatement);
}
return dvds;
}
Опубликовать источник для метода 'getDvdsByUserId'it должен возвращать значение null. –
Вы всегда можете исправить исключение nullpointer, если вы его не сделаете. Но на серьезной ноте вы должны опубликовать трассировку стека и более подходящие методы, в которых она генерирует исключение, чтобы мы могли вам помочь. –
Stacktrace из исключения поможет много. – Spindizzy