Архитектурные различия в веб-фреймворках Java MVC - PullRequest
4 голосов
/ 23 ноября 2011

Я пытаюсь выбрать AJAX-дружественный Java-фреймворк для моего первого веб-приложения и меня интересует первое понимание архитектурных различий между различными разновидностями.

Мне нравится концепция MVCкаркасы, и поэтому я в основном рассматриваю следующее:

  • Любая разновидность JSF (ICEFaces, RichFaces, PrimeFaces и т. д.)
  • Spring Web Flow
  • ZK
  • Wicket

Я скачал каждый из этих проектов и попытался следовать их образцам / учебным пособиям, и есть так много информации, чтобы проглотить, что я подумал, что передохну и приду сюдаДля начала рассмотрим некоторые предварительные сведения.

Мне интересно, как каждая из этих платформ реализует шаблон MVC .Очевидно, что что-то укорененное в JSF (например, ICEFaces) будет иметь архитектуру, отличную от Spring.Я уверен, что это огромный вопрос, поэтому я не ищу полномасштабное руководство по каждой из этих платформ;Мне просто любопытно, какие именно артефакты (исходники Java, файлы конфигурации XML и т. Д.) Должен написать разработчик, чтобы создать единственную страницу, управляемую AJAX, используя их. Меня интересуют различия в их подходе , не более того.

Например, я мог бы представить, что каждый фреймворк в какой-то момент использует FrontController (или подобные ему) для отображенияHttpRequests направо Controller реализация.Затем Controller (bean) потребуется выполнить некоторую обработку, возможно, ударить базу данных для получения некоторой информации (используя ormapping и сформировать Model), а затем создать View / HttpResponse для отправки обратно клиенту,Я уверен, что это упрощение, но должен быть простой способ объяснить высокоуровневую архитектуру того, как каждая из этих платформ выполняет это.

Ответы [ 3 ]

1 голос
/ 23 ноября 2011

Struts использует ActionServlet (теперь Struts2 - просто Action) в качестве контроллера и модели, а jsp - представление.

Для Spring MVC достигается DispatcherServlet, который выполняет маршрутизацию, а модель не привязана ни к какому объекту, связанному с платформой, который вы можете использовать.

JSF - пользовательский интерфейс jsp или jsf, модель - ManagedBean, контроллер - FacesServlet.

Некоторое время назад я провел похожий поиск по своему проекту, взгляните по ссылкам ниже:

Сравнение по нескольким параметрам: http://static.raibledesigns.com/repository/presentations/ComparingJavaWebFrameworks.pdf

Разница между JSF и Struts

http://struts.apache.org/2.0.14/docs/what-are-the-fundamental-differences-between-struts-and-jsf.html

Несколько похожий пост

https://stackoverflow.com/questions/7633583/which-mvc-is-better-spring-or-struts

Весна и JSF

http://blog.springsource.org/2007/04/21/what-spring-web-flow-offers-jsf-developers/

пружина MVC: http://static.springsource.org/spring/docs/2.0.x/reference/mvc.html

Лучше всего подходит для библиотеки компонентов JSF: Primefaces на основе моего собственного опыта

Из IBM Очистка FUD: http://www.ibm.com/developerworks/library/j-jsf1/

Надеюсь, это даст вам некоторое представление.

0 голосов
/ 23 ноября 2011

Вы также должны проверить платформу Play.Я немного его использовал и мне очень нравится.

Очень легко начать работу с минимальной конфигурацией (напоминает мне о Rails).

http://www.playframework.org/

0 голосов
/ 23 ноября 2011

Взгляните на доклад Мэтта Райбла о сравнении веб-фреймворков JVM здесь . Вы также можете посмотреть на Spring MVC и ' Гобелен `.

Кроме того, эта ссылка дает вам матрицу возможностей различных веб-фреймворков Java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...