Основные компоненты Springmvc
DispatcherServlet -> Контроллер, запрос вход
HanderMapping-> Controller, распределение запросов
Контроллер - -> Контроллер, процесс обработки запросов
ModelAndView ---> Модель, инкапсулировать результаты и представления бизнес-обработки
ViewResolver ---> View, просмотр процессора отображения
Процесс обработки
Браузер выдает запрос на SPTING и передает запрос на Front-End Controller DispatcherServlet для обработки.
Контроллер обнаруживает соответствующий компонент контроллера для обработки запроса путем рук.
Выполните метод, согласованный компонентом контроллера для обработки запроса, и вызовите компонент модели для завершения бизнес -обработки в методе Конвенции. Метод конвенции может вернуть объект ModelAndView, который инкапсулирует данные результатов бизнес -обработки и просмотреть информацию о имени.
После того, как контроллер получает ModelAndView, он вызывает компонент ViewResolver, обнаруживает представление (JSP) и передает информацию для генерации результата интерфейса ответа.
Конфигурация комментариев имеет много преимуществ по сравнению с конфигурацией XML:
Он может в полной мере использовать механизм отражения Java для получения информации о структуре класса, которая может эффективно снизить работу конфигурации. Если вы используете аннотацию JPA для настройки отображения ORM, нам не нужно указывать имя атрибута, тип и другую информацию PO. Если поле таблицы взаимоотношений и имя атрибута PO одинаковы, вам даже не нужно писать информацию о отображении атрибутов задачи - потому что эту информацию можно получить с помощью механизма отражения Java.
Комментарии и код Java находятся в том же файле, в то время как конфигурации XML используют независимые файлы конфигурации. Большая часть информации о конфигурации не будет скорректирована после разработки программы. Если информация о конфигурации и код Java составлены вместе, это поможет улучшить сплоченность программы. Используя независимые файлы конфигурации XML, программисты часто должны переключаться между файлами программы и файлами конфигурации при написании функции. Это несоответствие в мышлении снизит эффективность развития.
Компонент контроллера
Компонент контроллера отвечает за выполнение конкретной бизнес -обработки, и необходимо реализовать интерфейс контроллера и согласованные методы во время письма.
Модель и компонент
Компонент конференции контроллера вернет объект ModelAndView, который инкапсулирует данные модели результатов бизнес -обработки и просмотр информации.
Конструктор ModelAndView выглядит следующим образом:
-ModelandView (StringViewName)
-ModelandView (StringViewName, MapModel)
где viewName - это имя страницы JSP, а данные модели хранятся в атрибуте запроса
Компонент рук
Через компонент рук, контроллер DispatcherServlet может отображать HTTP -запросы на компонент контроллера.
-SimpleuserHandlerMapping поддерживает HTTP -запрос и отношения отображения контроллера (MAP) для контроллера вызовов в соответствии с отношениями списка соответствия.
SimpleUserHandlerMapp
<Bean> <name = "mappings"> <props> <prop key = "/login.form"> logincontroller </prop> <props> </prop key = "/hello.form"> hellocontroller </prop> </property> </bean> <bean id = "hellocontroller"/>
Хелтоконтроллер в теге SimpleUserHandlerMapping выше соответствует компоненту, чей идентификатор является HelloController в теге бобов ниже.
RequestMappingHandlermapp
ResquestmappingHandlerAdapter
Используйте аннотацию @Resquestmapping в классе контроллера и методы, чтобы указать соответствующий HTTP -запрос клиента.
Компонент ViewResolver
Все компоненты контроллера возвращают экземпляр ModelandView, инкапсулируя имя представления, представление в пружине идентифицируется по имени, а представление Resolver ViewResolver разрешает представление через имя.
InternalResourceViewResolver Обертывания сервлетов и JSP, используя примеры:
<bean id = "jspviewresolver"> <name = name = "prefix" value = "/web-inf/jsp/"/> <name = "суффикс" value = ". jsp"/> </bean>
Например: Имя представления Hello можно отображать с помощью /web-inf/hello.jsp через вышеуказанную конфигурацию
Аннотация контроллера
Как правило, мы используем аннотацию @Controller, чтобы объявить компонент контроллера, что делает его более гибким, и вам не нужно реализовать интерфейс контроллера, как и раньше.
@Controllerpublic class hellocontroller {public String execute () {return "hello"; }}Существует предпосылка для использования вышеуказанной аннотации, которая должна включить сканирование аннотаций:
<Контекст: компонент-сканирование base-package = "org.test.controller">
Базовая упаковка записывает пакет, где находится компонент контроллера.
Аннотация Resquestmapping
Resquestmapping указывает, к какому запросу этот класс или метод соответствует.
@Controller @resquestmapping ("/test1") public class hellocontroller {@resquestmapping ("/hello.form") public String helloexecute () {return "hello"; }}Если вам нужно использовать запросы, вам необходимо определить два компонента бобов в Spring XML -файл файла requestMappingHandlermapping (до определения класса) и requestMappingAdapter (до определения метода), например (необходимо определить в версии Spring 3.1)::
<bean/> <bean/>
Версия Spring 3.2 не нужно определить
<MVC: Annotation-управляемый/>
Суммировать
Выше приведено краткое введение заметок о весне в этой статье, и я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на другие связанные темы на этом сайте. Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте!