Вообще говоря, контейнер сервлета более или менее ограничивается реализацией спецификации сервлета J2EE. Кроме того, он сосредоточен на среде выполнения, а не на предоставлении дополнительных инструментов.
Напротив, полноценный сервер приложений реализует весь стек J2EE; плюс он поставляется со всеми корпоративными инструментами и возможностями интеграции. Сервер приложений обычно имеет расширенные интерфейсы администрирования, он поддерживает кластеризацию и другие функции, используемые в основном при разработке систем высокого класса.
Для новичка, вероятно, лучше остаться с простым контейнером сервлета, так как кривая обучения там гораздо менее крутая.
Редактировать
@ Apache Fan: Это зависит от особенностей вашей ситуации, таких как существующие системы и планы на будущее, между прочим. Я не думаю, что общий подход блок-схемы применим здесь.
Выбор платформы обычно производится путем сопоставления конкретных требований с фактическим знанием рассматриваемых систем.
Однако этот вопрос не дает никаких подсказок относительно критериев оценки. Должно ли это быть открытым исходным кодом? Нужна ли круглосуточная поддержка поставщиков? С какой корпоративной средой должна интегрироваться система? Являются ли лицензионные сборы проблемой? Какие-нибудь обязательные технологии или инструменты? И т.д.
Не зная выше, это в значительной степени стреляет в темноте.