Spring MVC против JSF

Я использовал используемую структуру Struts во всех моих предыдущих приложениях и для нового приложения, мой клиент попросил использовать либо Spring MVC, либо JSF? Я не знаком с этими двумя структурами, но наши сроки строги. Итак, я не уверен, какую структуру я буду выбирать для создания приложения.

Кто-нибудь может предложить мне, какие рамки легко освоить в кратчайшие сроки?

Спасибо

Ответ 1

Конечно, для всех это будет отличаться, но я бы предложил Spring MVC, поскольку он основан на запросах, например Struts. Конечно, вы захотите узнать о ядре Spring, таком как Inversion of Control/Dependency Injection (но я бы подумал, что плюс...) и все, что вы собираетесь использовать для доступа к базе данных (только JDBC? Hibernate? IBatis? И т.д.).

JSF основан на компонентах, что представляет собой немного другую парадигму из основанных на запросах фреймворков. Если вы планируете отправиться на маршрут JSF, я бы предложил посмотреть на Seam от JBoss. Это скорее структура, основанная на принципах "вперед-назад", которая использует JSF как конец веб-презентации, а EJB - как бэкэнд. И почти все люди, которые его использовали, утверждают, что JSF и EJB более полезны, чем сами по себе.

Удачи вам в выборе той или иной технологии. (Похоже, вам это нужно - строгие сроки и клиент, который предписывает веб-фреймворки?)

Ответ 2

Я бы предложил SpringMVC из-за таймфрейма:

  • вам нужно что-то с менее крутой кривой обучения. SpringMVC больше похож на Struts, чем на JSF
  • чтобы использовать возможности JSF, вам нужно познакомиться со многими "трюками", в то время как SpringMVC более или менее прост.

Ответ 3

Я бы предложил библиотеку компонентов JSF + Primefaces. Я использую эту комбинацию для создания большинства наших проектов. Насколько я помню, я потратил одну неделю на изучение технологии и закончил свой первый проект за один месяц. Время разработки не менее 30% быстрее, чем Struts.

SpringMVC - не плохая технология, и она довольно популярна.

Действительно зависит от того, какой из них вам больше нравится.

Ответ 4

Конечно, вы захотите узнать о ядре Spring, таком как Inversion of Control/Dependency Injection (но я бы подумал, что плюс...)

JSF действительно основан на IoC и намного проще, чем кривая обучения Spring.

Ответ 5

JSF - это только уровень представления MVC и должен использоваться с другими технологиями, такими как Spring/Hibernate или EJB для полного MVC.

Я использую Spring MVC в течение примерно 1 месяца, хотя он, вероятно, не самая латентная версия SpringMVC, мне было немного досадно, что у нас так много XML. Все управляемые beans и DAO имеют XML-конфигурацию. Кроме того, все, похоже, должно пройти метод, называемыйSubmit().

JSF с чем-то вроде EJB намного проще, на мой взгляд... Все можно сделать с помощью аннотаций, поэтому просто используйте @ManagedBean = theBean в своей поддержке bean и в вашем JSF put {thebean.param}, и у вас есть доступ к данным bean. Также вы можете использовать сеанс beans вашего EJB в качестве поддержки beans для JSF, а затем иметь прямой доступ к объекту DAO (Model layer) Entity bean. Снова просто с помощью аннотации @Entity и класса EntityManager

Spring MVC - это веб-структура внутри рамки Spring. Он предоставляет функции, как в JSF 2.0: Ajax-поддержка Проверка зависимость и инъекции и т.д. Тем не менее, вы можете использовать Spring (not Spring MVC) вместе с JSF 2.0 с Spring, обеспечивающим механизмы управления зависимостями, aop, транзакциями и JSF, обеспечивающие веб-уровень.