2. Раздел. Пособие Struts2 в примерах.

Второй раздел пособия включает три примера, основная цель которых показать, что WEB-приложение может включать открытую и закрытую области. Пользователь может попасть на закрытые страницы приложения, если правильно введет свои параметры авторизации, которые могут передаваться в сессии фреймворка Struts2. Все настройки хранятся в файле конфигурации фреймворка struts.xml.
Примеры данного раздела используют локализацию интерфейса, но сама локализация веб-приложения не рассматривается. Желающие могут поближе познакомиться с данным вопросом на странице описания интернационализации WEB-приложения с использованием фреймворка Struts2.

2.1. Пример авторизации

Пример авторизации является базовым примером данного раздела. Два последующих примера построены на его основе.

В примере авторизации рассматривается вопрос аутентификации и регистрации нового пользователя и отображение учетной карточки на главной странице. Пользователь может войти на главную страницу, если введет параметры своего аккаунта (логин и пароль) или заполнит регистрационную карту. При изучении данного примера следует обратить внимание на описание логики переходов в файле конфигурации, а также представление информации файлов ресурсов и свойств Action-классов на страницах приложения.

В Action-классах примера методы validate переопределены и включают логику проверки введенных оператором данных. Здесь следует обратить внимание на два метода класса ActionSupport, которые позволяют сообщать об ошибках. Это методы addActionError, и addFieldError. Первый метод сообщает об ошибке при выполнении действия, второй метод сообщает об ошибке при заполнении определенного поля.

2.2. Пример использования интерцепторов

Теоретические аспекты использования интерцепторов фреймворка Struts2 рассмотрены на странице http://www.java2ee.ru/frameworks/struts2/interceptor.html. При использовании интерцепторов очень важно понимать их предназначение. Интерцепторы включаются в процесс обработки перед выполнением действия и перед выдачей результата пользователю. Таким образом, Interceptors в Struts2 позволяют перехватить процесс обработки запроса для решения вспомогательных задач.

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

2.3. Пример использования сессии

Теоретические аспекты использования в приложении сессии session рассмотрены на странице http://www.java2ee.ru/frameworks/struts2/session.html. Использование сессии необходимо для хранения параметров аутентификации пользователя. После успешной регистрации на сайте пользователь может беспрепятственно перемещаться между открытыми и закрытыми страницами сайта.

В примере использования сессии рассматриваются две области - открытая и закрытая, определенные в файле конфигурации struts.xml. После успешной авторизации пользователь может свободно перемещаться из открытой области в закрытую и обратно.