Подтвердить что ты не робот

Java EE против JSP против JSF

Я ищу изучение технологии Java для разработки веб-приложений. Поскольку я больше смотрел на это, я смутился между , и . Я знаю, что на SO есть несколько сообщений (post 1, post 2), которые пытаются разрешить эти путаницы, У меня есть еще несколько над ними:

  • Является ли JSP "мертвым" в пользу JSF?
  • Является ли Java EE платформой JSF на вершине или вообще чем-то другим?
  • Является ли JSF просто основой MVC для разработки веб-приложений?
  • Является ли JSF структурой, разработанной Oracle и частью Java, или же она является отдельной структурой вообще (как Zend Framwork от PHP)?
  • [Бонус] Вы порекомендовали бы обучение или ?

В своем ответе не стесняйтесь сравнивать любую из этих технологий с такими вещами, как ASP.NET, ASP.NET MVC, Ruby on Rails, Zend Framework или обычные Java-апплеты Java, поскольку это то, что я уже знаю.

Спасибо за ваше время.

4b9b3361

Ответ 1

Является ли JSP "мертвым" в пользу JSF?

JSF имеет бесчисленные преимущества перед JSP. Например:

  • Он определяет подход MVC
  • Он установил стандарты стандартизации
  • Он применил функцию значений
  • Встроенный AJAX
  • Определенный контроль контекста представления
  • Позволяет использовать расширенные интерфейсы, такие как Primefaces

И мы можем продолжать и продолжать.

Вы все еще можете использовать JSP для других сценариев, где вам нужна определенная гибкость или производительность, а также то же самое для сервлетов, но JSF в значительной степени заменил JSP для "надежных" приложений.

Теперь, я большой поклонник JSF, но у него долгий путь. JSF 2.2 выглядит как зрелая структура теперь, когда он имеет определенный стандарт навигации (FacesFlow), и мы просто имел встроенный загрузчик файлов в 2.1, и это даже не AJAX, а там "HTML5" и т.д. Так что, есть еще много работы, которую я не буду здесь подробно описывать.

По моему опыту, JSP на самом деле "мертв" по ​​сравнению с JSF и другими платформами, такими как Spring MVC и другими. Учебник Java EE 7 почти ничего не говорит о JSP. Но он не мертв, поскольку он уже поддерживается в веб-контейнерах, и вы все еще можете его использовать.

Является ли Java EE платформой JSF на вершине или чем-то другим вообще?

JSF является частью Java EE, но для использования JSF вам не нужен полный профиль Java EE. Примеры:

  • Tomcat - это просто реализация веб-профиля Java EE, и вы можете использовать JSF в Tomcat.
  • Вы можете использовать JSF в JBoss, но для JSF вам не нужна JMS, чтобы работать.

Компоненты Java EE являются модульными, и для использования JSF вам нужен только сервер/контейнер веб-профиля.

Является ли JSF просто основой MVC для разработки веб-приложений?

Да (но я бы не сказал просто). У каждого есть свои плюсы и минусы. Но принцип тот же.

Можно спорить об интеграции с EJB, но также есть Spring MVC с собственным контейнером.

Является ли JSF структурой, разработанной Oracle и частью Java, или это (как и Zend Framwork от PHP)?

Oracle теперь делегирует команды для определения спецификации. Теоретически вы можете реализовать свой собственный JSF, если хотите. Я не знаю о PHP Zend Framework.

Наиболее распространенными реализациями JSF являются Mojarra и MyFaces. (Луиджи избил меня прямо сейчас, вы можете проверить его ссылки).

[Бонус] Вы бы посоветовали изучить jsp или jsf?

Я бы порекомендовал и то, и другое. JSP сначала и JSF после него.

Но я бы 100% рекомендовал вам использовать JSF для ваших проектов. Но убедитесь, что вы понимаете компонентность и все, что делает JSF мощным инструментом.

Также ознакомьтесь с новыми функциями JSF 2.2, эта страница является удивительной для введения новых функций, добавленных в фреймворк.

Ответ 2

Является ли JSP "мертвым" в пользу JSF?

Нет, он по-прежнему поддерживается для устаревших и текущих веб-приложений в качестве технологии просмотра. Кроме того, JSF работает с JSP в качестве представления, но поскольку JSF 2 лучше использовать Facelets в качестве технологического представления. Причины объясняются здесь: Почему Facelets предпочтительнее JSP в качестве языка определения вида из JSF2.0 и далее?. Короче говоря, Facelets поддерживает предварительную и пост-обработку содержимого для рендеринга, а JSP - нет.

Является ли Java EE платформой JSF на вершине или вообще чем-то другим?

JSF может запускаться самостоятельно на любом сервере веб-приложений Java. Вам просто нужно добавить необходимые библиотеки: JSF-api и JSF-impl.

Является ли JSF просто основой MVC для разработки веб-приложений?

Да. Он не предоставляет никакой помощи для создания веб-сервисов, пула соединений, управления транзакциями и т.д. Он поддерживает EJB-инъекцию через @EJB и впрыскивание параметров через @ManagedProperty, но это все. Вы можете использовать другие фреймворки для работы: Hibernate, EJB, Spring, CDI и т.д.

Является ли JSF структурой, разработанной Oracle и частью Java, или же она является отдельной структурой вообще (как Zend Framwork от PHP)?

JSF поддерживается JSR 344. Эта спецификация поддерживается Java Community Process, который поддерживается Oracle. Из этого вы можете сделать вывод, что по крайней мере Oracle обеспечивает реализацию для JSF. Поскольку JSF является спецификацией, он может быть реализован и другими организациями. В настоящее время существует еще одна реализация для JSF, MyFaces.

Вы бы посоветовали изучить или ?

Это похоже на вопрос, следует ли мне узнать, как создать HTML или как использовать набор библиотек, который будет создавать HTML для меня?. JSP - это технология, созданная для просмотра веб-приложений, поддерживающих динамический контент с использованием технологии Java. JSF - это структура MVC, которая помогает вам облегчить создание представленного контента (JSP или Facelets) и привязки данных через представление, контроллер и модель. Вы можете учиться одновременно, и я рекомендую вам узнать, что вы сейчас используете или что будете использовать. ИМО вы должны изучить как JSF для разработки приложений JSF, так и JSP для работы с другими структурами MVC или для поддержания существующих устаревших приложений, построенных с помощью JSP.

Ответ 3

1.Is JSP "мертв" в пользу JSF?

В сфере JAVA EE JSP объявлено "устаревшим". В более широком мире он хорошо жив.

2. Является ли Java EE платформой JSF на вершине или вообще чем-то другим?

Зависит от того, где находится "верх". Сервлеты - это база для большинства фреймворков Java, включая JSF.

3. Является ли JSF просто основой MVC для разработки веб-приложений?

Да, это ощущение, что JSF - это среда уровня представления.

4.Is JSF - основа, разработанная Oracle и частью Java, или же она представляет собой отдельную структуру (как и Zend Framwork от PHP)?

JSF является официальной частью Java EE 7 от Oracle.

5. [Бонус] Вы бы посоветовали изучить jsp или jsf?

Оба, на определенную глубину. Рассмотрим также HybridJava - он такой же мощный, как JSF, но примерно в два раза проще.