Производительность JSF и Spring по сравнению с низкой производительностью JSP - PullRequest
4 голосов
/ 04 мая 2009

Я видел несколько проектов JSF, разработанных моими коллегами, и эти проекты показались мне очень медленными. У кого-нибудь есть такое же мнение?

В настоящее время я использую jsp + jstl и jQuery для "богатого" клиента.

Интересно, какие преимущества и недостатки имеют современные фреймворки (jsf, калитка, гобелен ...) по сравнению со старой простой jsp.

Было бы здорово, если бы люди, которые использовали все эти технологии, ответили.

Мне также интересно, какие самые интересные функции заставили вас оставить jsp и использовать «массивный» фреймворк (я имею в виду, например, AOP весной или что-то еще, что вы можете заметить).

Спасибо за все комментарии.

Ответы [ 5 ]

8 голосов
/ 04 мая 2009

Я использовал CGI, PHP, JSP, Struts, Spring MVC (1.2), мастерскую Bea, JSF, JBoss Seam, Spring MVC (2.5) и Wicket (в таком порядке). Я заметил скачок в производительности и качестве для каждой новой технологии, над которой я работал. Он просто работает лучше, он чувствует себя лучше. Я предпочитаю калитку (с поворотом весны, кварца и т. Д.) Всем остальным. Я могу честно сказать, что видел свет, и я не хочу возвращаться к более темной или более светлой стороне.

Многое можно сказать о калитке.

  • Поддержка разговора (или включение вкладок) предоставляется по умолчанию, вам больше не нужно беспокоиться о проблемах с кнопками «открыть в новой вкладке» и «назад».
  • Он основан на компонентах, поэтому вы можете повторно использовать код ala swing.
  • Использует многие стандартные Java, такие как чудеса безопасности типов.
  • Поддерживает расширенные функции безопасности, такие как URL-шифрование.
  • Кластеризируемые приложения по умолчанию.
  • И, самое главное, забавно использовать.

Существует много улучшений для JSP и JSF.

  • Единственное, что беспокоит меня больше всего, - это бессмыслица "EL", потому что я считаю, что это нарушает безопасность и прочность java-типа.
  • Для высокой производительности обоим нужна поддержка инструментов.
  • Вам нужен еще один фреймворк поверх них, чтобы действительно решить проблемы (как видно из фреймворка шва, который делает JSF пригодным для использования).
  • Обработка ошибок очень сложна, и исключения не слишком полезны.
  • Трудно создавать компоненты многократного использования на обеих платформах и не поддерживает надлежащую модель для разделения задач.
  • ... и, что самое важное, длительные и незначительные боли, такие как это или это .
4 голосов
/ 04 мая 2009

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

Я намеренно избегаю всего, что в JSP является программированием. Нет доступа к данным, нет SQL, нет скриптлетов, нет методов, нет ничего. просто простое представление ранее существующих данных, предоставленных контроллером, возможно, с некоторыми простыми случаями и итерацией коллекций.

2 голосов
/ 04 мая 2009

Много преимуществ. Я могу перечислить преимущества JSF, которые я использовал в моем последнем проекте.

  • Централизованное место для навигации (как в стойках)
  • Компоненты, такие как указатель даты, автозаполнение, пейджинг и т. Д.
  • У вас есть рендеры для макета, что значительно облегчает логику макета.
  • Наличие плиток, как в стойках.

JSP не проводит четкого разделения между бизнес-логикой и макетом.

В любом случае, хотя все эти преимущества и если вы Java-программист, я бы посоветовал взглянуть на Grails , что гораздо более удобно.

0 голосов
/ 04 мая 2009

Преимущества Spring MVC:

  • Фреймворк подталкивает вас к написанию более качественного кода: с помощью внедрения зависимостей и разделения дизайна вашего приложения на объекты домена (модели), контроллеры, классы обслуживания, DAO и т. Д.
  • В качестве побочного эффекта первой маркированной точки ваш код в конечном итоге становится чрезвычайно и легко тестируется юнитами.
0 голосов
/ 04 мая 2009

JSP чрезвычайно примитивен, у вас в основном нет виджетов, и вам нужно все строить самостоятельно. JSF, хотя улучшение не является лучшей веб-средой для Java - есть множество других, которые позволяют вам достичь гораздо более впечатляющего результата - например, GWT.

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