#java #spring #jetty
#java #весна #jetty #spring
Вопрос:
Для любимого проекта я хотел бы, чтобы встроенный Jetty запускал приложение Spring Web MVC. Я использовал Spring в веб-контейнерах (где легко указать, «с чего начать»), и я использовал встроенный Jetty без Spring.
Это немного похоже на проблему с курицей или яйцом, если я хочу, чтобы оба работали вместе. Каков наилучший способ организации проекта? Другими словами, что мне вставить main()
? Должно ли это быть приложение Spring, в котором Jetty является компонентом (тогда как насчет контекстов?)? Или я должен запустить Jetty самостоятельно и подключить Spring через прослушиватель сервлетов? Каковы предостережения?
Ответ №1:
Jetty в контейнере Spring используется для запуска веб-приложения, независимо от того, загружено оно или нет. Веб-приложение и ваше веб-приложение не имеют одинакового контекста Spring без хитростей.
Итак, вам нужно создать сервер Jetty в вашем главном, добавить свое веб-приложение и запустить сервер. Лучший способ — использовать web.xml используйте обычный Java EE-сервер и добавьте этот дескриптор на свой сервер Jetty.
Ответ №2:
Я думаю, что более разумно запускать Jetty самостоятельно и подключать Spring через прослушиватель сервлетов в web.xml . Позвольте Spring управлять всеми компонентами, специфичными для приложения, а jetty сосредоточиться на запуске вашего приложения, и, возможно, когда-нибудь вы сможете развернуть свое приложение в другом контейнере сервлетов, ничего не меняя.
Ответ №3:
Это один из способов встроить Jetty в Springhttp://www.springbyexample.org/examples/embedded-spring-web-services.html
Комментарии:
1. Хотя эта ссылка может дать ответ на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы только для ссылок могут стать недействительными, если связанная страница изменится.