Недавно я начал изучать java EE (jsp, сервлеты и некоторые шаблоны для работы с базой данных, например DAO), и я не понимаю, где я должен инициализировать логику bussines? Я думаю, что создание экземпляров в теле do *** методов сервлетов - плохая практика. Постскриптум мое приложение использует DataSource и ConnectionPool для подключения к db.WebApp. Java EE. Где я должен инициализировать свою бизнес-логику?
ответ
Необходимо указать свое требование как-то, какую инициализацию вы ищете. Это решение EJB? Чистое решение для сервлета/JSP? и т. д.
Обычно при развертывании приложения после вызова приложение загружает требуемую логику.
Конечно, вы можете сделать инициализацию, чтобы ускорить загрузку, чтобы сделать необходимый код запуска, прежде чем пользователи войти в приложение и т.д.
В EJB мы говорим о @Singleton и @Startup аннотациями.
Для сервлета вы можете использовать аннотацию @WebServlet (name = "startup", loadOnStartup = "0"). Или поместите его в свой web.xml. Зависит от того, как вы кодируете.
Более рекомендуемым способом является создание собственного слушателя и переопределение методов contextInitialized и contextDestoryed. Например. создать db-соединение и т. д. в инициализированном методе и отменить регистрацию драйвера в методе contextdestory. Используйте аннотацию @WebServletContextListener или добавьте слушателя в свой web.xml
Также существуют определенные решения веб-сервера Java, вам необходимо проверить своего поставщика.
Спасибо, много! Очень информативный ответ! – nzeshka
- 1. Когда инициализировать свойства в Java EE webapp?
- 2. Где я должен отслеживать версию веб-приложения Java EE
- 3. JAVA EE 6 cluster and webapp images
- 4. Развертывание Java EE webapp на экземпляре ec2
- 5. Java - Где я должен инициализировать переменные для эффективности памяти?
- 6. Где я должен инициализировать свои данные?
- 7. Где я должен инициализировать pg-prom
- 8. Java EE webapp не создает файлы/папки
- 9. Долгосрочная задача в Java EE WebApp + icefaces
- 10. Инициализировать кэш приложений Java EE при запуске
- 11. Java Webapp - Где хранить изображения
- 12. Где находится папка Java EE?
- 13. Gradle android: Где я должен поставить свою собственную задачу?
- 14. Где я должен поместить zoomIn в свою MapActivity?
- 15. Где я должен помещать свою страницу пользователя в рельсы?
- 16. MVVM- Где я должен реализовать свою логику сохранения?
- 17. Где я должен генерировать свою соль в моем приложении AngularJS
- 18. Где я должен разместить свою настройку пользовательского интерфейса?
- 19. Где я должен указывать свою кодировку, если не на метаэлементе?
- 20. Какой учебник Oracle Java EE я должен использовать? Учебное пособие по Java EE 6 или Java EE 5?
- 21. Где я должен поставить bower.json?
- 22. Различные результаты, когда я инициализировать свою переменную
- 23. Где я должен инициализировать ресурсы для Android Live Wallpaper
- 24. Где я должен инициализировать переменные в объекте c?
- 25. Где я должен инициализировать выбор при использовании Materialize и Meteor?
- 26. Когда и где я должен инициализировать контекст весны?
- 27. Основание Durandal и Zurb, где я должен инициализировать фундамент?
- 28. Почему я должен инициализировать массив?
- 29. , когда я должен инициализировать объекты
- 30. Почему я должен инициализировать «j»?
Какой прецедент и что у вас есть? – SMA
См. Мой ответ, я бы сказал, поиск загрузки сервлета при запуске, ServletContextListener и EJB startup и singleton. – MrSimpleMind