Не понимаю концепцию контекста в Java EE

Я изучал Spring, JSP и сервлеты. Я не понимаю понятие корня контекста. Их так много. Корень SpringContext, корневой контекст сервлета и могут быть другие.

В приложении Spring MVC, сколько корней контекста есть и как их идентифицировать? Что они на самом деле означают?

Ответ 1

Контекст обычно относится к интерфейсу, используемому для взаимодействия с вашей средой выполнения. Это предоставляет вашей программе набор функций (таких как безопасность, обработка запросов и т.д.), Которые обычно необходимы всем приложениям, работающим в этом домене. Такая среда обычно называется container в стек java (контейнер сервлета, ejb один и т.д.)

См. Что такое Контекст в Java?

Затем термин "корень" можно использовать, когда для одного приложения с наследованием между ними создается другой контекст. В корневой иерархии (обычно имеющей некоторую общую конфигурацию) используется корневой контекст.

См. JB Nizet здесь: Контекст веб-приложения/контекст корневого приложения и настройка менеджера транзакций

Однако в вашем случае термин root имеет своеобразное значение, поскольку он используется для веб-контейнера. Это относится главным образом к корню пути веб-приложения, так как для веб-приложения есть только один контекст, о котором мы говорим о context root данного веб-приложения.

См. http://tomcat.apache.org/tomcat-7.0-doc/config/context.html