1 Введение
Что такое MVC Framework
Полным названием MVC является контроллер представления модели, который является аббревиатурой модели-визового контроллера. Это модель проектирования программного обеспечения. Он организует код с использованием метода разделения бизнес -логики, данных и интерфейса, и собирает бизнес -логику в компонент. При улучшении и персонализации интерфейса и взаимодействия с пользователем нет необходимости переписывать бизнес -логику. MVC был уникально разработан для картирования традиционных функций ввода, обработки и вывода в логической графической структуре интерфейса пользователя.
Модель-View-Controller (MVC)-это хорошо известный шаблон дизайна, основанный на приложениях дизайна интерфейса. В основном он отделяет бизнес -логику от интерфейса, разделяя роль моделей, представлений и контроллеров в приложениях. Как правило, модель отвечает за инкапсуляцию данных приложения в слое представления. Представление отображает только эти данные и не содержит никакой бизнес -логики. Контроллер несет ответственность за получение запросов от пользователей и вызова фоновых служб (Manager или DAO) для обработки бизнес -логики. После обработки фоновый бизнес -уровень может вернуть некоторые данные, которые будут отображаться на уровне просмотра. Контроллер собирает эти данные и готовит модель, которая будет отображаться в уровне представления. Основная идея модели MVC состоит в том, чтобы отделить бизнес -логику от интерфейса, позволяя им измениться индивидуально, не влияя друг на друга.
В приложениях SpringMVC модель обычно состоит из объектов POJO, которые обрабатываются в бизнес -уровне и сохраняются в слое постоянства. Просмотры обычно представляют собой шаблоны JSP, написанные в стандартной библиотеке TAG JSP (JSTL). Часть контроллера управляется DispatcherServlet, и мы узнаем больше об этом в этом уроке.
Некоторые разработчики считают, что классы слоев бизнес -уровня и DAO являются частью компонентов модели MVC. У меня разные мнения по этому поводу. Я не думаю, что бизнес -слой и классы слоев DAO являются частью структуры MVC. Обычно веб-приложение представляет собой трехслойную архитектуру, а именно, представлена данными данных. MVC на самом деле является частью презентационного слоя.
Сервлет для диспетчеры (пружинный контроллер)
В простейшем приложении Spring MVC контроллер является единственным сервлетом, необходимым для настройки в файле описания веб -развертывания веб -развертывания Java (т.е. файл web.xml). Controller Spring MVC - обычно известный как сервлет для диспетчеров, реализует шаблон конструкции контроллера переднего контроля. И каждый веб -запрос должен пройти через него, чтобы он мог управлять всем жизненным циклом запроса.
Когда веб -запрос отправляется в приложение Spring MVC, сервис диспетчера сначала получает запрос. Затем он организует компоненты, настроенные в контексте веб -приложения Spring (например, фактический контроллер обработки запросов и Resolver View) или с использованием конфигурации аннотации, которые требуют обработки запроса.
Определите класс контроллера весной 3.0, который должен быть помечен аннотацией @Controller. Когда контроллер с аннотацией @Controller получает запрос, он будет искать подходящий метод обработчика для обработки запроса. Это требует, чтобы контроллер отобразил каждый запрос с методом обработчика через одно или несколько сопоставлений обработчиков. Чтобы сделать это, методы класса контроллера должны быть украшены аннотацией @requestmapping, чтобы сделать их методами обработчика.
После того, как метод обработчика обработал запрос, он делегирует управление представлением с тем же именем представления, что и возвратное значение метода обработчика. Чтобы обеспечить гибкий метод, возвращаемое значение метода обработчика не представляет реализацию представления, а логическое представление, т. Е. Не существует расширения файлов. Вы можете сопоставить эти логические представления с правильной реализацией и записать эти реализации в файл контекста, чтобы вы могли легко изменить код уровня представления, даже не изменяя код, который запрашивает класс обработчиков.
Это обязанность Resolver View в соответствии с правильным файлом для логического имени. Как только класс контроллера проанализировал имя представления в реализацию представления. Он делает соответствующий объект в соответствии с дизайном, реализованным представлением.
2 Пакет импорта JAR
По крайней мере, это должно быть.
3 файлы конфигурации
3.1 web.xml
<? xml version = "1.0" Encoding = "utf-8"?> <web-app xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xmlns = "http://java.sun.com/xml/ns/javaee" xsi: schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" = "webapp" = "webapp" = "webapp_dapp_3_0.0. <display-name>SpringMVC_HelloWorld</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <selcovery-file> default.jsp </wervedied-file> </werveding-file-list> <!-Сервлет для весеннего MVC-> <!-После инициализации DispatcherServlet будет напрямую искать файл springmvc-servlet.xml под/web-inf/. The parameter definition of the servlet-name tag should correspond to the XML file --> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <Servlet-name> Springmvc </servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <context-param> <param-name> contextConfiglocation </param-name> <param-value> classpath: ApplicationContext.xml </param-value> </context-param> <lloader-class> org.springframework.web.context.contextloaderListener </sluster-class> </sluster> </web-app>
3.2 Springmvc-servlet.xml
Имя этого файла определяется <servlet-name> </servlet-name> диспетчерского сервера, настроенного в web.xml. Путь находится в контексте/Web-Inf/, который в основном настраивает соответствующую связь между именем логического представления и физическим представлением, возвращаемым контроллером.
<? 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: aop = "http://www.springframework.org/schema/aop" xmlns: tx = "http://www.springframework.org/schema/tx" xmlns: context = "http://wwww.springframe.orschema. xsi: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.spramework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd "> <!-Автоматически сканированный пакет-> <context: component-can-package =" com.lin. id = "viewResolver"> <name = "viewClass" value = "org.springframework.web.servlet.view.jstlview" /> <!-Контроллер возвращает имя логического представления после предварительной обработки, чтобы вернуться к физическому представлению-> <Protportme = "prefix" /value = " /web-inf /jsp /" /"> <propect vally =". </bean> </beans>
4 Напишите класс доменов
Используется для инкапсуляции некоторых данных о отправке
package com.lin.helloworld.domain;public class HelloWorld {private String data;public HelloWorld() {super();}public HelloWorld(String data) {super();this.data = data;}public String getData() {return data;}public void setData(String data) {this.data = data;}@Override public String toString() {return "Helloworld [data =" + data + "]";}} 5 Контроллер записи
Это контроллер в MVC. Что отличается от Struts2, так это то, что это перехват на уровне метода, а Struts2-это перехват на уровне класса.
пакет com.lin.helloworld.controller; import org.springframework.stereotype.controller; import org.springframework.web.bindtation.modelattribut com.lin.helloworld.domain.helloworld; @controllerpublic class helloworldcontroller {// здесь/hell NameModelandView modelAndView = new ModelAndView («Helloworld», «MSG», «Helloworld !!!»); return ModelAndView;} // Возвращение объекта в представление //@@modelattribut Обработка формы. Отправление: <input name = "obj.data" // Представленные данные инкапсулируются в данные объекта obj // springmvc IS: <input name = "data" // Представленные данные инкапсулируются в данных OBJ Obj SAYSHELLOWORLD (@ModelatTribute ("OBJ") helloworld obj) {System.out.println (obj.toString ()); ModelAndView modelAndView = new ModelAndView ("Helloworld", "OBJ", OBJ); return ModelAndView;}}6 просмотров
<%@ page language = "java" import = "java.util.*" pageencoding = "utf-8"%> <%string path = request.getContextPath (); string basePath = request.getScheme ()+": //"+request.getServername ()+":"+request.getSerperport () phate+"/";%> <t) <). "// w3c // dtd html 4.01 Transitional // en"> <html> <Head> <base href = "<%= basepath%>" rel = "внешний nofollow"> <title> my jsp 'Helloworld.jsp' Начальная страница </title> <meta http-equiv = "pragma" no-conte "no-conte" no-conte "> <Meta http-equiv =". http-equiv = "cache-control" content = "no-cache"> <meta http-equiv = "expires" content = "0"> <meta http-equiv = "Content" Content = ", ключевое слово1, ключевое слово3"> <meta http-equiv = "description". type = "text/css" href = "styles.css" rel = "внешний nofollow"> -> </head> <body> helloworld! Это пример Spring MVC Framework. <br> $ {msg} <hr/> <form action = "helloobj" method = "post"> <!- Представление формы здесь отличается от Struts2. Name = "Data" автоматически соответствует заявленному объекту -> <input type = "text" name = "data" size = "30"/> <br/> <input type = "Отправить" value = "post"/> </form> <hr/> $ {obj.data} </body> </html> <hr/> $ {obj.data} </body> </html>7 Структура каталогов
Суммировать
Выше приведенное в этой статье приведено примером входа SpringMVC, я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на этот сайт:
Реализация программирования Java SpringMVC простого входа в систему
Программирование SpringMVC использует интерфейс контроллера для реализации кода экземпляра контроллера
Подробное объяснение того, срок действия сеанса мониторинга реализует сеанс мониторинга SpringMVC.
Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте.