Введение в Spring MVC
Spring MVC - это легкая веб -структура, основанная на модели архитектуры MVC. Цель состоит в том, чтобы модулировать веб -разработку и отделить общую архитектуру.
Spring MVC имеет следующие преимущества:
В рамках весенней рамки он имеет преимущества пружины (МОК, AOP и т. Д.)
Поддерживает гибкое отображение контроллера URL-Page
Обеспечить гибкую проверку, форматирование и механизмы связывания данных
Поддержать стиль RESTFUL
Pring Spring MVC -процесс запроса
Общий процесс запроса Spring MVC Framework заключается в следующем:
Приведенный выше рисунок включает в себя несколько функциональных компонентов пружины MVC:
Фронт-контроллер (DispatcherServlet): получить запрос пользователя и вернуть результат запроса. Его функция эквивалентна форвартору или центральному процессору, который контролирует весь процесс выполнения, планируя различные компоненты и уменьшая связь между компонентами.
Картирование процессора: найдите соответствующий обработчик процессора на основе URL -адреса, запрашиваемого пользователем, посредством аннотации или конфигурации XML.
Адаптер процессора: заполните вызов метода в процессоре на основе обработчика, найденного Mapper
Хэндлер: конкретная логика обработки запросов, возврата данных и просмотра информации
Просмотр Resolver: анализирует конкретное представление и анализирует имя логического представления в реальном представлении с помощью информации о представлении в объекте ModelandView.
Подробное объяснение конкретных этапов процесса запроса:
1: Пользователь инициирует запрос, и запрос будет перехвачен передним контроллером (DispatcherServlet)
2: Фронт-контроллер (DispatcherServlet) Процессор запроса Mapper (Handlermapping), чтобы найти обработчик
3: Mapper процессора (ручной работы) находит соответствующий обработчик в соответствии с конфигурацией (может быть более аннотированной или конфигурацией XML), который может содержать несколько перехватчиков и вернуть их к контроллеру фронт-конечного.
4: Фронт-контроллер (DispatcherServlet) запрашивает адаптер процессора (HandlerDapter) для выполнения соответствующего обработчика
5: адаптер передается соответствующему процессору обработчика для выполнения
6: После выполнения процессора обработчика верните объект ModelandView в адаптер процессора
7: Адаптер процессора принимает результат возврата обработчика и возвращает результат в передний контроллер (DispatcherServlet)
8: Фронт-контроллер (DispatcherServlet) получает данные и просмотр информации, возвращаемой адаптером процессора, запрашивает просмотр просмотра и анализирует соответствующее представление
9: Сиарсер View возвращается к контроллеру фронтального контроля на основе соответствующего результата представления, соответствующего информации об просмотре.
10: Фронт-контроллер получает конкретное представление, отображает представление, заполняет данные модели в представление и генерирует окончательное представление
11: Фронт-контроллер возвращает результат пользователю
Строить демонстрации с нуля
Создайте проект:
Создайте новый динамический веб -проект в рамках Eclipse
Проект по умолчанию Структура каталога:
Добавить зависимости от пакета JAR
Импортируйте соответствующий пакет JAR в WebContent> Web-Inf> Foper Lib, где пакет Core JAR представляет собой Spring-Webmvc-5.0.0.Release.jar, а другие-в основном для управления контекстом и пакетами Beande, библиотеки тегов JSTL и журнальный пакет для печатных журналов:
Настройка контроллера фронта в web.xml
Фронт-контроллер эквивалентен запатентованному сервлету Spring MVC, используемому для перехвата всех квалификационных запросов и передачи их на структуру для последующей обработки.
<? xml version = "1.0" Encoding = "utf-8"?> <web-app xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns = "http://xmlns.jcp.org/xml/ns/javaee "//xmlns.jcp.org/xml/ns/javaee "//xmlns.jcp.org/xml/ns/javaee xsi: schemalocation = "http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/weece_3_1" id = "webApp_id" version = "3.1"> <!-Настройка переднего контроллера-dispatchservlet-> <servlet> <servlet-name> springmvcnext </servlet-name> <serlet-class> org.springframework.web.servlet.dispatcherservlet </servlet-class> <!-contextconfiglocation. Не обязательно. If contextConfigLocation is not configured, the configuration file of springmvc is defaulted to: WEB-INF/servlet name+"-servlet.xml" --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name> Springmvcnext </servlet-name> <url-pattern>/</url-pattern> <!-Запросы на перехват, отправленные пользователями в соответствии с правилами, установленными URL-Pattern. Все запросы перехвачены здесь, включая статические ресурсы-> </servlet-mapping> </web-app>
Правило соответствия URL-адреса, определенное в теге <Servlet Mapping>, в форме, которая соответствует *.Action, соответствующий сервис назван SpringmvCnext, а контроллер, настроенный <Servlet-это org.springframework.web.servlet.dispatchservlet, который является контроллером фронт-энда современного проекта Springmvc. Тег <init-param>-это параметр, от которого зависит текущий контроллер. Два параметра представляют параметры контекста и путь загрузки параметров соответственно.
О ClassPath: представляет выходной путь после сборки веб -проекта
Настройка конфигурации Spring MVC
Добавить файл ApplicationContext.xml в каталог исходного кода Java
Конкретный контент:
<? xml version = "1.0" Encoding = "UTF-8"?> <Beans xmlns = "http://www.springframework.org/schema/beans" xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns: p = "http://www.springframework.org/schema/p" xmlns: context = "http://www.springframework.org/schema/mvc" xsi: schemalocation = "http://www.springframe.orschema. http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd "> <!-Тег сканера пакета будет использоваться для активации функции сканирования аннотаций Spring MVC, позволяя аннотациям, таким как @Controller и @Requestmapping. -> <context: component-scan base-package = "com.sl.controller" /> <!-Драйвер аннотации-> <mvc: annotation-raven /> <!-configure view resolver-> <bean id = "internalresourceviewresolver"> <Property name = "prefix" value = " /web-inf /view /" /"> <sult". </bean> </beans>
Добавить контроллер и представление
Добавьте пакет com.sl.controller в каталог SRC и добавьте код контроллера следующим образом:
пакет com.sl.controller; import org.springframework.stereotype.controller; import org.springframework.web.bindtation.Requestmapping; import org.springframework.web.servlet.modelandView; @ControllerPUBLIC ClassWRDERLERLERLERLERSTERSTERSTERSTERPELEST; Запросы в пути URL, начиная с /index: включение /index /* и /index.html public model и helloworld () {string message = "hello spring mvc"; вернуть New ModelAndView ("Index", "Message", Message); }}Добавить View file index.jsp в Web-Inf/View
<html> <head> <title> Spring Mvc </title> </head> <body> $ {сообщение} </body> </html>Результаты работы:
Суммировать
Вышеуказанное - все содержание этой статьи. Я надеюсь, что содержание этой статьи имеет определенную справочную ценность для каждого обучения или работы. Если у вас есть какие -либо вопросы, вы можете оставить сообщение для общения. Спасибо за поддержку Wulin.com.