Это супер-пупер приблуда в стратсу.
В чем фишка? Это еще один уровень абстракции. Т.е. адресация в приложении идет не на реальные страницы, а их адреса (имена) в конфигураторе тайлса. Это можно сравнить с объявлением констант в приложении: в результате все равно везде будет использоваться одно и то же число (значение константы), но изменить все его вхождения можно в одном месте. То же самое, как и, например, конфигурирование стратса - в action ты пишешь forward, а реальная страница для него записывается в struts-config.
Использовать обязательно!
В эту же струю можно добавить Spring. Нечто подобное, но уже для классов. Вместо вызова конкретного класса вызывается конструктор Spring, которые берет реальный класс из конфигуратора. Самый очевидный способ использования - разработка нового приложения. Пишешь мок-классы вместо реальных бизнес-классов, получаешь работающее приложение, показываешь клиенту, потом постепенно заменяешь мок-классы реальными. Ну, соответственно, использование всяческих сторонних пакетов, имеющих один интерфейс (пулы коннектов, jdbc и т.п.) - замена один на другой происходит путем переписвывания пары строк к конфигураторе. Работает со Struts со своим контроллером, может инициализировать бизнес-классы в action.
Использовать обязательно! И внимательно читать все, что пишет Род Джонсон(Spring и многое другое), потом делить на 4 и думать
По поводу того, можно ли без этого обойтись... Ну, если ты программист-экстремал, то можешь написать все вообще на ассемблере, но смысл? Разве что челендж.
Вот.