червня
20
2012

Форми та валідація форм в Spring

Динамічне взаємодія користувача і веб-сайту з використанням форм є однією з найважливіших деталей сайту. У цій статті буде розказано про створення форм та перевірки даних форми з використанням Spring MVC.

Далі
травня
10
2012

Помилки HTTP-протоколу в Spring MVC

У завершальній статті про обробку помилок в Spring MVC розглянемо обробку стандартних помилок HTTP. Стаття завершиться кодом проекту, який містить приклад з кожної з розглянутих у цій серії статей.

Далі
травня
09
2012

SimpleMappingExceptionResolver і модель (ModelAndView)

Як вже було сказано раніше, головним недоліком використання SimpleMappingExceptionResolver при вилові винятків - це відсутність можливості додати дані в модель. У цій статті розглянемо спосіб обійти це обмеження, створивши клас, успадкований від SimpleMappingExceptionResolver.

Далі
травня
09
2012

SimpleMappingExceptionResolver в Spring і обробка виключень

Наступний спосіб обробки виключень - з використанням SimpleMappingExceptionResolver. Цей спосіб є більш глобальним порівняно з анотацією @ExceptionHandler, що була розглянута в попередній частині. Якщо анотація @ExceptionHandler ловить тільки виключення, що відбулися в контролері, то SimpleMappingExceptionResolver ловить виключення, що відбулися в будь-якій частині програми.

Далі
травня
08
2012

@ExceptionHandler в Spring і обробка помилок

Перший з розглянутих способів обробки помилок - за допомогою анотації @ExceptionHandler. Ця анотація обробляє виключення, яке сталося в контролері, як звичайний запит.

Далі
травня
07
2012

Обробка HTTP-помилок 404, 500, 503 в Spring MVC

Обов'язковою умовою будь-якого поважаючого себе сайту є коректна обробка HTTP-помилок, а не відображення замість них стандартної сторінки з інформацією про помилку і її описом в стандартному для мови Java виду. У цій серії статей описується кілька способів обробки як HTTP-помилок, так і винятків. В кінці статті буде наведено код програми, що демонструє / обробку помилок і виключень.

Далі
квітня
28
2012

Spring MVC і кілька ViewResolver

В Spring MVC є можливість створювати ланцюжки об'єктів ViewResolver. Таким чином, обробка різних запитів може здійснюватись різними ViewResolver'амі і, відповідно, повертається результат може бути абсолютно різним.

Далі
квітня
27
2012

Interceptor. Перехоплення запитів в Spring MVC

В Spring MVC є можливість виконувати якісь дії перед обробкою запиту, відразу після його обробки і перед відправкою відповіді клієнту. Все це можна зробити за допомогою так званих Interceptor'ов. Ці перехоплювачі (Interceptor) дозволяють виконувати завдання, які є загальними для кожного запиту або набору запитів, без необхідності копіювати код в кожному методі контролера. Наприклад, можна виконувати аутентифікацію користувача перш, ніж запит досягне Вашого контролера і, в разі успіху, отримати деякі додаткові дані користувача з бази даних, додавши їх в об'єкт HttpServletRequest. З іншого боку, якщо запит не пройшов встановлену Вами перевірку (наприклад, входить в список "небезпечних" запитів, схожих на хакерські) Ви можете перенаправити користувача на іншу сторінку.

Далі
квітня
27
2012

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

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

Далі
квітня
26
2012

Помилка "Cannot create a session after the response has been committed"

Почнемо з причин появи цієї помилки... Ця помилка відбувається у випадку, коли Ваш код намагається отримати доступ, використати або створити об'єкт HttpSession в той час, коли Ваше відображення вже записало дані в вихідний потік сервлета. Але використовувати HttpSession вже занадто пізно так як це вимагає додавання HTTP-заголовка Set-Cookie в вихідний потік сервлета, що можна зробити тільки на початку відправлення відповіді браузеру. Це і є причиною виникнення помилки. У статті описано кілька способів усунення цього винятку.

Далі