Сервлет для доступа к DAO и вызова рабочего метода (Java)
У меня проблемы с получением сервлета для работы в моем динамическом веб-проекте. У меня есть метод в моем классе StudentUtils, который работает нормально. Он подключается к моей базе данных sql и печатает содержимое на консоль. Увидеть ниже.
public class StudentUtils {
public static void main (String[] args) throws Exception {
getAllStudents();
}
public static void getAllStudents() throws Exception {
try {
Connection dbase = getConnection();
String mysql = "select * from course";
PreparedStatement output = dbase.prepareStatement(mysql);
ResultSet rs = output.executeQuery();
while(rs.next()) {
ArrayList <Student> list = new ArrayList<Student>();
Student s = new Student(null, null, null);
s.setStudentID(result.getString(1));
s.setStudentName(result.getString(2));
s.setStudentLevel(result.getString(3));
list.add(s);
System.out.println(s.toString());
System.out.println("added"); } }
catch(Exception e) {
System.out.println("could not add");
}
Этот метод при запуске распечатывает каждого ученика на экране консоли и сообщение added
, Однако мне нужно создать сервлет, который запускает этот метод.
До сих пор в моем сервлете я создал экземпляр моего дао (studentUtils) и пустой список массивов, но затем я застрял при попытке заполнить список массивов с помощью метода в дао. Увидеть ниже.
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
StudentUtils studetUtils = new StudentUtils();
ArrayList <Student> list = new ArrayList<Student>();
Буду признателен за любую помощь в получении моего сервлета для заполнения этого списка массивов с использованием моего метода в дао.
1 ответ
Ваш метод getAllStudents()
должен, вероятно, вернуться List<Student>
, Также обратите внимание, что в вашей текущей реализации List
создается внутри цикла, создавая его заново в каждой итерации, что, вероятно, не соответствует желаемому поведению. Вы должны создать это вне цикла.
Кроме того, вы, вероятно, должны закрыть свои ресурсы, как Connection
после их использования.