Встроенный Jetty и Spring Web MVC

#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. Хотя эта ссылка может дать ответ на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы только для ссылок могут стать недействительными, если связанная страница изменится.