Контроллер SpringMVC используется для обработки запросов пользователей. Контроллеры эквивалентны действию в Struts1. Их механизм реализации и принципы эксплуатации похожи.
Контроллер - это интерфейс, который, как правило, напрямую наследует AbstractController и реализует метод HandlEquestinternal. HandlereQuestinternal Method эквивалентен методу выполнения Struts1
Импорт org.springframework.web.servlet.modelandView; import org.springframework.web.servlet.mvc.abstractcontroller; открытый класс Catcontroller расширяет AbstractController {Private Icatservice Catservice; // Setter и Getter LetresseD ModelandView handleRequestInternal(HttpServletRequestrequest,HttpServletResponse response) throws Exception{String action =request.getParameter("action");if("list".equals(action)){return this.list(request,response);}}protected ModelAndView list(HttpServletRequestrequest,HttpServletResponse response) throws Exception {list <TaC> catlist = catservice.listcat (); request.setattributSpringmvc не имеет встроенной инкапсуляции данных, разработчики могут сами инкапсулировать код преобразования данных
SpringMVC уникален при обработке слоя представления. HandlereQuestinternal возвращает объект ModelAndView, который можно рассматривать как инкапсуляцию объектов JSP. ModelAndiview непосредственно принимает путь к странице JSP. Например, параметр «cat/listcat» является лишь частью пути JSP. Фактическим полным путем является «Web-Inf/JSP/Cat/Catlist.jsp». Часть до и после пути настроена в файле конфигурации.
В дополнение к настройке путей JSP, ModelandView также может напрямую передавать объекты модели на уровень представления, не помещая их заранее в запрос, такой как NewModelandView («Cat/ListCat», «Cat», Cat). Если проходят несколько параметров, вы можете использовать карту, например, как
MAP MAP = NEWHASHMAP (); map.put ("cat", cat); map.put ("catlist", catlist); вернуть New ModelAndView ("cat/listcat", map);Как правило, независимый XML-файл, такой как Spring-Action.xml, используется для специфической настройки компонентов, связанных с веб-сайтами.
<? xml version = "1.0" Encoding = "UTF-8"?> <! dctypebeans public "-// spring // dtd bean // en" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id = "viewrver"> hise stefix "> <propix"> <propix "> <propix"> <propix "> <protever"> "hise '>"> "hise'>"> "hise"> "hise '>"> "hise'>"> "hise"> "<protembers"> <protever " <dulch>/web-inf/jsp/</value> <!-jsp prefix-> </property> <name = "Суффикс"> <dalue> .jsp </value> <!-JSP Suffix-> </propetion> <!-Конфигурация URL-картирование-> <Bean Id = "urlhandlepping"> <proporting = "Mappings"> <props> <! "cat.mvc"-> <prop key = "cat.mvc"> catcontroller </prop> <props> </property> </bean> <bean id = "catcontroller"> <свойство = "catservice" ref = "catservice"> </property> </bean> <//beans> webservice configuration <context-par> </rape piefum>-- <param-name> contextConfiglocation </param-name> <param-value> /web-inf/classes/applicationcontext.xml, /web-inf/classes/spring-action.xml </param-value> </context-param> <dellocer> <!-Загрузочная пружина. org.springframework.web.context.contextloaderListerener </stirlicer> </sluster> <servlet> <!-Spring Distributor-> <Servlet-mame> Spring </servlet-mame> <serlet-class> org.springframework.web.servlet.dispatcherservlet </servlet-class> <initparmawrame.web.servlet.dispatcherservlet </servlet-class> <initparme.web.servlet.dispatcherservlet </servlet-class>. <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/classes/spring-action.xml</param-value> </init-param> <load-on-startup>1</load-on-startup><!-- Loading at startup--> </servlet> <servlet-mapping> <servlet-name> spring</servlet-name> <URL>*. MVC </url> </servlet-mapping>
Если контроллер хочет обрабатывать множество бизнес -логики, вы можете использовать MultiActionController, который эквивалентен диспетчеризации в стойках.
Импорт org.springframework.web.servlet.mvc.multiaction.multiactionController; Public Class CatController Extrable AbstractController {Private Icatservice CatService; // Setter и Getter слегка защищенный модель и add (httpserveltrequestequest, httpservessevonse response) ModelAndView ("cat/AddCat");} Защищенный список модели и списка (httpservlectrequestrequest, httpservletresponse response) throws exection {list <cat> catlist = catservice.listcat (); request.setattriutНастройка на Spring-Action.xml
<Bean id = "paramethodresolver"> <name = "paramname"> <dall> action </value> <!-Настройка параметров распределения-> </свойство> <name = "defaultmethodname"> <dall> list </value> <!-Конфигурировать методы выполнения по умолчанию-> </property> </bean> <bean id = " <props> <prop key = "cat.mvc"> catcontroller </prop> <!-Доступ к "cat.mvc" "" будет передаваться Catcontroller для обработки-> <prop key = "catmulti.mvc"> catmulticontroller </prop> <! <props> </property> </bean> <bean id = "catcontroller"> <name = "catservice" ref = "catservice"> </property> </bean> <bean id = "catmulticontroller"> <собственность = "catservice" ref = "catservice"> </property> </bean> </bean> </bean> </bean> </bean>
Суммировать
Выше приведено все подробное объяснение кода модуля MVC весной, я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на другие связанные темы на этом сайте. Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это.