Der Controller von SpringMVC wird verwendet, um Benutzeranforderungen zu verarbeiten. Controller entsprechen der Wirkung in Struts1. Ihr Implementierungsmechanismus und ihre Betriebsprinzipien sind ähnlich.
Controller ist eine Schnittstelle, die im Allgemeinen direkt den AbstrcatController erbt und die Handlernmethode implementiert. Handlernmethode entspricht der Ausführungsmethode von Struts1
import org.springframework.web.servlet.ModelandView; import org.springframework Handlequestinternal (httpServletRequestRequest, httpServletResponse -Antwort) löst Ausnahme aus {String action = request.getParameter ("action"); if ("list" .equals (action)) {return this.list (request);}} proteded modelandview list (httpServletRetRetReTrequest) (httpServeStrequest) (httpServletrequestes). Ausnahme {list <cat> catlist = catService.listcat (); Request.SetAttribute ("CatList", Catlist); Neue modelAndView zurückgeben ("cat/listCat");}}SpringMVC hat keine integrierte Datenkapselung, Entwickler können selbst den Datenkonvertierungscode zusammenfassen
SpringMVC ist in der Verarbeitung der Ansichtsschicht einzigartig. Handlersquestinternal gibt ein ModelAndView -Objekt zurück, das als Kapselung von JSP -Objekten angesehen werden kann. ModelAndiview akzeptiert direkt den Pfad zur JSP -Seite. Beispielsweise ist der Parameter "Cat/listCat" nur Teil des JSP -Pfades. Der tatsächliche vollständige Pfad lautet "web-inf/jsp/cat/catlist.jsp". Der Teil vor und nach dem Pfad ist in der Konfigurationsdatei konfiguriert.
Neben der Einrichtung von JSP -Pfaden kann ModelAndView auch Modellobjekte direkt an die Ansichtsschicht übergeben, ohne sie im Voraus in die Anforderung zu setzen, z. Wenn mehrere Parameter übergeben werden, können Sie MAP verwenden, z. B.
MAP MAP = NewHashMap (); map.put ("cat", cat); map.put ("catlist", catlist); Neue ModelAndView zurückgeben ("Cat/listCat", Karte);Im Allgemeinen wird eine unabhängige XML-Datei wie Spring-action.xml verwendet, um webbezogene Komponenten spezifisch zu konfigurieren.
<xml Version = "1.0" coding = "utf-8"?> <! <Wert>/web-inf/jsp/</value> <!-JSP Präfix-> </property> <Eigenschaft name = "suffix"> <value> .jsp </value> <!-JSP-Suffix-> </Eigenschaft> <!-Konfigurations-URL-Mapping-> <bean id = "urlhandlmaping"> <Eigenschaftsname = "Mappings"> <mappings "-Mappings. "cat.mvc"-> <prop key = "cat.mvc"> catcontroller </prop> <props> </property> </bean> <bean id = "catcontroller"> <Eigenschaft name = "catService" Ref = "CatService"> </property> </ban> </beans> web.xml-konfiguration <context-param> </beans> web.xml-konfiguration <context-param> </beans> web.xml-konfiguration <context-param <Param-name> contextconfigLocation </param-name> <param-value> /web-inf/classes/applicationcontext.xml, /web-inf/classes/spring-action.xml </param-value> </context-param> <hörer> <! org.springframework.web.context.contextloaderListener </listener-class> </listener> <servlet> <!-Spring Distributor-> <Servlet-name> Spring </servlet-name> <Servlet-Class> org.spingframework.web.servlet.dispatcherservlet </Service-Param> </servlet. <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>
Wenn ein Controller mehrere Geschäftslogik verarbeiten möchte, können Sie MultiactionController verwenden, was der Versandwirkung in Streben entspricht. 1. Es kann verschiedene Anforderungen an verschiedene Methoden entsprechend einem bestimmten Parameter verteilen.
import org.springframework ModelAndView ("cat/addCat");} Protected ModelAndView -Liste (httpServletRequestRequest, httpServletResponse -Antwort) löst eine Ausnahme aus {list <Cat> catlist = catService.listcat (); request.setAttribute ("catlist", Catlist zurück.Konfigurieren Sie auf fing-action.xml
<bean id = "paramethodresolver"> <Eigenschaft name = "paramname"> <value> action </value> <!-Konfigurieren der Verteilungsparameter-> </Eigenschaft> <Eigenschaft name = "defaultMethodname"> <Wichtig> liste </value> <!-Konfiguration von Default-Ausführungsmethoden-> </property> </lean> </lean> <Bean id = "monlhandlmaping" <PROPS> <prop key = "cat.mvc"> catcontroller </prop> <!-Zugriff auf "cat.mvc" "wird an Catcontroller zur Verarbeitung übergeben-> <Prop Key =" catmulti.mvc "> catmulticontroller </prop> <! </property> </bean> <bean id = "catcontroller"> <property name = "catService" ref = "catService"> </property> </bean> <bean id = "catmulticontroller"> <property name = "catService" Ref = "CatService"> </property> </</lean>
Zusammenfassen
Das obige ist die detaillierte Erklärung des MVC -Modulcode im Frühjahr. Ich hoffe, dass es für alle hilfreich sein wird. Interessierte Freunde können weiterhin auf andere verwandte Themen auf dieser Website verweisen. Wenn es Mängel gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen.