Прежде чем начать
Данное руководство посвящено введению в технологию Java™Server Faces (JSF) — серверную компонентную инфраструктуру, облегчающую разработку интерфейсов для Web-приложений на Java. Оно в первую очередь будет полезно для разработчиков, не имеющих опыта применения JSF и желающих максимально быстро начать использовать ее преимущества: в первую очередь, компоненты, снижающие затраты на разработку интерфейсов. В руководстве рассматриваются только основные моменты, причем они поясняются на многочисленных примерах.
JSF близка к традиционным технологиям разработки интерфейсов, таким как AWT, SWT и Swing. Одним из ее основных преимуществ является то, что программист освобождается от черновой работы, которая ложится на плечи разработчиков самой инфраструктуры JSF. Из-за этого сама JSF сложнее многих других Web-технологий, но ее внутренняя структура скрыта от глаз разработчиков приложений. Создавать Web-приложения на основе JSF, как правило, легче, чем с помощью других инфраструктур: они получаются короче, а также проще в смысле структуры и конфигурирования.
Если вы занимаетесь разработкой серверных Web-приложений на Java, изучить JSF вам будет проще других технологий. Она специально проектировалась применительно к Web-приложениям (а не к Web-сайтам). Благодаря JSF вы можете сконцентрироваться на разработке непосредственно логики приложения и не заботиться о низкоуровневой работе с объектами и параметрами запросов, сессиями, а также о проблемах обработки сложных XML-документов. Используя JSF, вы достигнете больших результатов за меньшее время, чем при использовании других Java-технологий для Web-разработки.
Мы продолжим с того места, на котором остановились в первой части. Если вы новичок в JSF или просто хотите освежить свои знания, то лучше обратитесь сначала к ней. И даже если вы знаток JSF, скорее всего, что-то из предыдущей части окажется для вас полезным.
В данном руководстве мы не будем использовать никакие мощные IDE, несмотря на то, что поддержка со стороны сред разработки является одним из преимуществ JSF. Вместо этого мы сконцентрируемся на фундаментальных вопросах, включив в обсуждение лишь те теоретические аспекты, которые необходимы для понимания материала и помогут вам быстро освоить создание Web-приложений с помощью JSF.
В этой части мы продолжим обзор возможностей JSF, в частности, рассмотрим использование всех стандартных компонентов. В качестве примера разработаем простое приложение для управления контактами с простейшей функциональностью CRUD (create, read, update, delete – создание, чтение, изменение, удаление). Продемонстрировав жизненный цикл обработки запросов в JSF-приложениях, мы добавим к нашему приложению специализированные конвертеры и валидаторы данных. В конце руководства мы обратимся к более сложным аспектам использования JSF, таким как создание инфраструктуры валидации на уровне объектов с использованием обработчиков событий жизненного цикла.
Для кого написано это руководство?
В первую очередь руководство ориентировано на новичков в JSF. Но даже если у вас есть опыт разработки в JSF, но вы еще не использовали новые возможности JSF 1.2, или ваш опыт был ограничен использованием графических средств разработки, то, скорее всего, вы также найдете для себя много интересного.
Руководство в основном написано в расчете на Java-разработчиков начального и среднего уровня. Для усвоения материала необходимо обладать общим представлением о программировании на Java, а также иметь определенный опыт разработки графических интерфейсов.
Для запуска примеров к данному руководству вам понадобится среда разработки Java (JDK) и Apache Maven. Также полезно иметь IDE-среду для Java. В состав примеров к статье включены файл сборки Maven, а также проектные файлы Eclipse Java EE и Eclipse WTP (Web Tools Project). Код примеров доступен для скачивания. За дополнительной информацией можно обратиться к специализированному сайту автора руководства (см. Ресурсы).
