Цитата(Wowa @ 25.2.2007, 14:38 ) | Struts использует Model-View-Controller (MVC) архитектуру. А Spring? |
Аналогично, MVC. Его веб-фреймворк так и называется - Spring MVC. Но реализация значительно отличается от Struts. Вообще говоря, это продукты разных весовых категорий. Spring - это фреймворк приложения на Java, не обязательно вебного, в котором Spring MVC - только один из множества компонентов. В то время как Struts - просто веб-фреймворк, в который сейчас добавили интеграцию с контейнером компонентов. В целом, Spring MVC мне кажется продуктом более гибким за счет большого набора различного типа контроллеров и возможностей ассоциировать URL и контроллер различными способами. Например, отдельные методы контроллера можно повешать на различные урлы, а можно URL - на отдельный контроллер. В Spring MVC решены некоторые часто возникающие задачи, например, показ и сабмит формы одним контроллером с валидацией и всеми сопутствующими сервисами (SimpleFormController). Кроме того, Spring изначально использует контейнер компонентов для организации взаимосвязей бинов. Это само по себе заставляет более правильно организовывать код. О том, что это правильный путь говорит и миграция Struts в том же направлении, там сейчас кажется используется XWork. Spring включает в себя наборы классов, упрощающих работы с различными технологиями и фрйемворками (JDBC, JMX, JMS, Hibernate и т.п.), чего в Struts нет. Однако, есть и недостатки, конечно. Изучать Spring придется дольше, но в конечном счете использование Spring должно положительно сказаться на качестве и компактности кода и скорости разработки.
Все это, конечно, ИМХО, но я много работал и с тем и с другим и, думаю, могу сравнивать. |