Загрузка драйвера базы данных может быть выполнена только один раз при запуске веб-приложения.Для этого вы можете использовать ServletContextListener
.Вы можете выполнить задачу загрузки драйвера в конструкторе класса DatabaseManager
и создать его экземпляр во время contextInitialized()
и сохранить экземпляр в области приложения, чтобы он был доступен для всех сервлетов в контексте (отмеченодолжно быть, что JSP по сути является неправильным местом для бизнес-логики).
Открытие (и закрытие!) Connection
действительно должно выполняться непосредственно в том же блоке методов, что и вывыполняем запрос SQL.Это, конечно, не должно быть "кэшировано" как статическая переменная / экземпляр где-то в логике вашего приложения.Для повышения производительности подключения обычной практикой является настройка пула подключений для получения подключений.В каждом приличном сервлет-контейнере вы можете сделать это в духе источника данных JNDI.
Короче говоря, вы можете найти пример JSP / Servlet, использующий описанные выше методы, в этой статье , что по совпадениютакже используется вариант использования «зарегистрировать пользователя».