апреля
27
2012

Interceptor. Перехват запросов в Spring MVC

В Spring MVC есть возможность производить некие действия перед обработкой запроса, сразу после его обработки и перед отправкой ответа клиенту. Всё это можно сделать с помощью так называемых Interceptor'ов. Эти перехватчики (Interceptor) позволяют выполнять задачи, которые являются общими для каждого запроса или набора запросов, без необходимости копировать код в каждом методе контроллера. Например, можно выполнять аутентификацию пользователя прежде, чем запрос достигнет Вашего контроллера и, в случае успеха, получить некоторые дополнительные данные о пользователе из базы данных, добавив их в объект HttpServletRequest. С другой стороны, если запрос не прошел установленную Вами проверку (например, входит в список "опасных" запросов, похожих на хакерские) Вы можете перенаправить пользователя на другую страницу.

Далее
апреля
27
2012

Spring 3 и @Controller. Часть 3 (@CookieValue и @RequestHeader)

В заключительной части серии статей "Spring 3 и @Controller" будет рассмотрено только 2 простые аннотации: @CookieValue и @RequestHeader. Аннотация @CookieValue позволяет привязать параметр метода контролера к HTTP-cookie. Аннотация @RequestHeader позволяет привязать параметр метода контроллера к заголовку запроса.

Далее
апреля
26
2012

Исключение "Cannot create a session after the response has been committed"

Эта ошибка происходит в случае, когда Ваш код пытается получить доступ, использовать или создать объект HttpSession в то время, когда Ваше представление уже записало данные в исходящий поток сервлета. Но использовать HttpSession уже слишком поздно так как это требует добавления HTTP-заголовка Set-Cookie в исходящий поток сервлета, что можно сделать только в начале отправления ответа браузеру. Это и является причиной возникновения ошибки. В статье описано несколько способов устранения этого исключения.

Далее
апреля
26
2012

RedirectAttributes. Flash-переменные в Spring MVC

В этой статье рассмотрим новую возможность Spring MVC 3.1, а именно - использование RedirectAttributes. Этот класс используется для передачи так называемых flash-атрибутов, то есть, значений, которые будут доступны только следующему запросу и самоликвидируются для последующих запросов. Обычно они служат для отображения пользователю информации по поводу успешной или неуспешной отправки формы.

Далее
апреля
26
2012

@SessionAttributes. Сессия в Spring MVC

В этой статье рассмотрим работу с аннотацией @SessionAttributes в Spring MVC. Как понятно из названия, эта аннотация предназначена для работы с атрибутами сессии. А именно, @SessionAttributes объявляет атрибут(ы) сессии, используемый(ые) конкретным обработчиком.

Далее
апреля
25
2012

Кодировка запроса в Spring с использованием CharacterEncodingFilter

В Spring Framework есть очень полезный фильтр CharacterEncodingFilter, который позволяет указать кодировку для запроса. Это полезно, поскольку современные браузеры, как правило, не устанавливают кодировка символов, даже если таковая указана на HTML-странице или форме. Этот фильтр может либо применить кодировку по умолчанию, если в запросе не указана кодировка, либо обеспечить кодирование запроса в нужную кодировку вне зависимости от того, установлена она в запросе или нет ("forceEncoding"="true").

Далее
апреля
24
2012

@ModelAttribute и Spring MVC

В Spring MVC есть очень полезная аннотация - @ModelAttribute. Благодаря использованию этой аннотации можно существенно уменьшить код контроллера и облегчить его понимания, а заодно и улучшить его.

Далее
апреля
23
2012

Spring 3 и @Controller. Часть 2

Продолжаем тему контроллера в Spring Framework. В этой части будет рассмотрено: использования стандартных классов HttpServletRequest и HttpSession; возможность использования Ant-подобных адресов; распределение запросов по методам, используя их заголовки; мощный класс WebRequest; классы Local и Principal; аннотации @RequestParam, @RequestHeader и @ResponseBody.

Далее
апреля
23
2012

Spring 3 и @Controller. Часть 1

В первой части статьи рассмотрим создание контроллеров при использовании Spring Framework 3-й версии и Spring MVC в частности. Остановимся на аннотациях @Controller, @RequestMapping и @PathVariable, а также поговорим о классах модели Model и ModelAndView.

Далее
апреля
17
2012

HttpClient и "Invalid use of SingleClientConnManager: connection still allocated."

При использовании библиотеки Apache HtppClient возможно появление исключения "Invalid use of SingleClientConnManager: connection still allocated.". Решается эта проблема путем закрытия потока чтения данных.

Далее