Please enable JavaScript.
Coggle requires JavaScript to display documents.
Spring (MVC (Controller - связть Model с View (xml-config…
Spring
MVC
-
Exceptions
-
Можно объявить свое исключение, проаннотировать его ResponseStatus и возвращать нужный http-code
На уровне контроллера объявляются методы с аннотацией ExceptionHandler, тогда они обрабатывают указанные в этой аннотации исключения только для текущего контроллера
Глобальная обработка исключений - если создать класс с аннотацией ControllerAdvice и внутри него определить методы с ExceptionHandler, эти обработчики будут использоваться во всех контроллерах
Сессия
Объект HttpSession можно прокинуть в любой метод контроллера, помеченный RequestMapping. Хранит сессию пользователя заданное через setMaxInactiveIntrval на этом обхекте значение, либо до вызова на нем invalidate
Cookie
-
Для того,, чтобы записать значение куки, необходимо в методе контроллера определить входной аргумент HttpServketResponse, создать обхект Cookie и добавить его в респнс через addcookie
-
Web
DispatcherServlet
-
main servlet, dispatch incoming requests to handlers and return response
-
Configuration
Java Config
-
Bean - помечается метод, в котором создается бин
Может находится в любом Component классе, не только в классе конфигурации. В этом случае обработка таких методов проходит в lite режиме - например в таких методах нельзя ссылаться на другие методы, помеченные как Bean. Поэтому рекомендуется использовать в классах конфигурациях
-
При инжекте бинов в параметры метода сначала используется тип аргумента. Если находится несколько бинов с таким типом, выбираются бины, совпадающие по имени аргумента
xml Config
<mvc:view-controller> - мапинг урл на jsp view. Для этого в контексте должен быть бин InternalResourceViewResolver
-
-
-
Execute command
Если команда возвращает ResponseEntity, то команда выполняется в потоке сервлета, то есть в потоке воркера томката
-
-
Events
можно реализовать и положить в контекст ApplicationListener и подписаться на сообщения приложения. Например ApplicationListener<ServletRequestHandledEven> будет вызываться после каждой обработки вызова
Для того, чтобы бросать свои события, надо создать наследника ApplicationEvent, там где необходимо его бросать получить из контекста бин ApplicationContext, и передать свое событие в метод publishEvent
-
-