Сервлет для доступа к 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 после их использования.

Другие вопросы по тегам