Frühe Projekte waren relativ einfach, meist direkt mit JSP, Servlet + JDBC. Später wurde Struts1 (Struts2)+Spring+Hibernate verwendet, um die Projektentwicklung ausschließlich nach dem Konzept der Schichtung voranzutreiben. Dieses Mal wurde Spring MVC verwendet, um Streben für die Entwicklung zu ersetzen.
MVC ist bereits ein sehr wichtiger Bestandteil der modernen Webentwicklung. Führen Sie den Entwicklungsumfeldkonstruktion von SpringMVC+Spring3+Hibernate4 vor.
Schauen wir uns die Projektstruktur an:
Der spezifische Code wird nicht mehr demonstriert, er führt hauptsächlich eine sehr gewöhnliche Route, die Struktur von MVC-Service-dao-Hibernate, der Quellcode kann heruntergeladen werden, hauptsächlich in die Konfigurationsdatei. Die Erläuterung finden Sie in den Kommentaren
web.xml
<? xmlns: web = "http://java.sun.com/xml/ns/javaee" xmlns: web = "http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" XSI: Schemalocation = "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id = "webapp_id" Version = "2,5" 2,5 "-Inname> </display-name> <Welcome-File> Index.jsp </Welcome-File> </Welcome-File-List> <!-Konfigurieren Sie Spring-> <Context-Param> <Param-name> contextConfigLocation </param-name> <param-value> classpath*: config/Spring-*. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!-- Configure SpringMVC --> <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name> contextconfigLocation </param-name> <param-value> classpath*: config/fing/fing-servlet.xml </param-value> </init-param> <Load-on-Startup> 1 </load-on-Startup> </servlet> <servlet-mapping> <servlet-name> federmvc </servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <!-- Set character set--> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value> utf-8 </param-value> </init-param> <init-param> <param-name> comparityCoding </param-name> <param-value> true </param-value> </init-param> </filter-mapping> <Filter-name> ash-kodierende </filter-name> ave-kodierungsfilter </filter-name> ave-kodierende </filter-name> ave-kodierende </filter-name> ave-kodierende </ave-filter-name> ave-kodierende </ave-filter-name> ave-kodierung; </Filter-Mapping> <!-Umschaltung zur Steuerung-> <Filter> <Filter-name> OpenSession </Filter-Name> <filterklasse> org.springFramework.orm.HiberNate4.Support.openSessioninviewFilter </Filter-Class> </Filter> <Filter-Mapping> <Filter-mapping> <Filter-Name> </filter-mapping> <Filter-Name> </filter-mapping> </filter-name <URL-Muster>/*</url-pattern> </filter-mapping> </web-App>
Spring-Service.xml
<? xmlns: p = "http://www.springframework.org/schema/p" xmlns: mvc = "http://www.spingframework.org/schema/mvc" xmlns: xsi = "http://wwwwwwwwwwwwwwwwwwww.w.w.w.2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/W./wwww.w.w.w.w.w.w.2001/2001/2001/2001/2001/2001/2001/W./wwwww.ww.w.w.ww.2001/xml XSI: Schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schem/mvc/mvc/mvc/mvc/mvc/sping-mvc-3.0.g/sdema/mvc/mvc/mvc/sping-mvc-3.0.g/sdema/mvc/mvc/mvc-mvc-3-3.0.- scan package --> <context:component-scan base-package="com.jialin" /> <!-- Open annotation scheme 1 --> <!-- Annotation method processing-> <!-- <bean /> --> <!-- Annotation class mapping processing--> <!-- <bean></bean> --> <!-- Open annotation scheme 2 --> <mvc:annotation-driven /> <!-- Static resource access, Lösung 1-> <MVC: Ressourcen location = "/img/" maping = "/img/**"/> <mvc: ressourcen location = "/js/" maping = "/js/**"/> <!-statische Ressourcenzugriff, Schema 2-> <! name = "prefix" value = "/"> </property> <!-kann leer sein, bequem die Logik der Ansichtsinterpretationsklasse basierend auf Ihrer Erweiterung-> <Eigenschaft name = "suffix" value = ". <Eigenschaft name = "MaxUploadsize" value = "10485760000" /> <Eigenschaft name = "maxinMemorySize" value = "40960" /> < /bean> -> < /beans>
Spring-Hibernate.xml
<? xmlns: p = "http://www.springframework.org/schema/p" xmlns: mvc = "http://www.spingframework.org/schema/mvc" xmlns: xsi = "http://wwwwwwwwwwwwwwwwwwww.w.w.w.2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/W./wwww.w.w.w.w.w.w.2001/2001/2001/2001/2001/2001/2001/W./wwwww.ww.w.w.ww.2001/xml XSI: Schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springFramework.org/schema/mvc http://www.springframework.org/schema/mvc/mvc/mvc/mvc/mvc/mvc-mvc-3-3.0.g/schema/mvc/mvc/mvc/mvc-mvc-3-3.0.g/sdema/mvc/mvc/mvc/mvc-mvc-3-3.0.- Quelle-> <bean id = "dataSource"> <Eigenschaft name = "TRAVERCLASSNAME" value = "com.mysql.jdbc.driver value = "123456" /> < /bean> <!-Konfigurieren Sie Hibernate SessionFactory-> <bean id = "sessionfactory"> <Eigenschaft name = "dataSource" ref = "dataSource" /> <Eigenschaft name = "Hibernateproperties"> <Props> <props key = "hibernate.dialect"> org.hibernate.dialect <Eigenschaft name = "configLocations"> <list> <wert> classPath*: config/hibernate/hibernate.cfg.xml </value> </list> </property> </bean> <!-Transaktionsmanager-> <bean id = "transactionManager"> <Property name = "Sessionfactory" Ref = "Sessionfactory"> </bean> <- id="transactionBese" lazy-init="true" abstract="true"> <property name="transactionManager" ref="transactionManager"></property> <property name="transactionAttributes"> <props> <prop key="add*">PROPAGATION_REQUIRED,-Exception</prop> <prop key="update*">PROPAGATION_REQUIRED,-Exception</prop> <prop key="insert*">PROPAGATION_REQUIRED,-Exception</prop> <prop key="insert*">PROPAGATION_REQUIRED,-Exception</prop> <prop key="modify*">PROPAGATION_REQUIRED,-Exception</prop> <prop key="modify*">PROPAGATION_REQUIRED,-Exception</prop> <prop KEY = "Delete*"> Propagation_Required, -Exception </prop> <propet key = "del*"> Propagation_Required, -Exception </prop> <prop key = "get*"> Propagation_Never </prop> </props> </property> </bean> </beans> </beans> </beans>
Spring-core.xml
<? xmlns: p = "http://www.springframework.org/schema/p" xmlns: mvc = "http://www.spingframework.org/schema/mvc" xmlns: xsi = "http://wwwwwwwwwwwwwwwwwwww.w.w.w.2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/2001/W./wwww.w.w.w.w.w.w.2001/2001/2001/2001/2001/2001/2001/W./wwwww.ww.w.w.ww.2001/xml XSI: Schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schem/mvc/mvc/mvc/mvc/mvc/mvc-mvc-3-3.0.g/schema/mvc/mvc/mvc/mvc-mvc-3-3.0.g/sdema/mvc/mvc/mvc/mvc-mvc-3-3.0.g/sdema/mvc/mvc/mvc/mvc-mvc-3-3-3.0.- Konfigurationsdateien, die multiple-> <importieren können ressourcen = "classPath*: config/fing/fing-user.xml"/> </beans>
Spring-User.xml
<? "org/SpringFramework/Web/Kontext/Web-inf/contextinclude.xml">] <beans> <!-Spring Bean-> <bean id = "userDao"> <Property name = "SessionFactory" Ref = "Sessionfactory"> </userdaO "userManmanBase"> </userManbase "> <userManiternbase"> <userManiternbase "> <userManBase"> <uswaMtaO ". ref = "userDao"> </property> </bean> <!-übergeordnet ist transactionBese und gibt an, dass Transaktionen unterstützt werden-> <bean id = "userManager" parent = "transactionBese"> <Eigenschaft name = "target" ref = "userManagerBase"> </property> </bean> </beans> beans>
hibernate.cfg.xml
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- Introducing classes that require mapping --> <mapping/> </Session-Factory> </Hibernate-Konfiguration>
Schauen wir uns den Controller an
Paket com.jialin.controller; importieren java.io.ioException; Import Java.io.printwriter; importieren java.util.list; import Javax.annotation.Resource; importieren javax.servlet.http.httpServletRequest; importieren javax.servlet.http.httpServletResponse; import org.springframework.stereotype.controller; import org.springframework.web.bind.annotation.RequestMapping; import com.jianin.entity.user; import com.jianin.service.iusermanager; @Controller // Struts-Like action @RequestMapping ("/user") öffentliche Klasse UserController {@Resource (name = "userManager") // Die ID der Bean in der Spring-Konfigurationsdatei als UserManager erhalten und private iuSerManager-Benutzermanager injizieren; @RequestMapping ("/adduser") // URL-Adresszuordnung anfordern, ähnlich wie bei Struts-Like-Action-Mapping Public String adduser (Benutzerbenutzer) {if (userManager.adduser (Benutzer)) {// return return "redirect:/user/getAlluser"; } else {return "/fail"; }} @RequestMapPing ("/updateUser") public String updateUser (Benutzerbenutzer, httpServletRequest -Anforderung) {if (userManager.UpdatUser (Benutzer)) {userManager.getOreuser (Benutzer); Request.SetAttribute ("Benutzer", Benutzer); zurück "/useredit"; } else {return "/fail"; }} @RequestMapping ("/Deluser") public void deluser (Benutzer Benutzer, httpServletResponse -Antwort) {String result = "{/" result/":/" error/"}"; if (userManager.deluser (user)) {result = "{/" result/":/" success/"}"; } Printwriter out = null; response.setContentType ("application/json"); try {out = response.getWriter (); out.write (Ergebnis); } catch (ioException e) {e.printstacktrace (); }} @RequestMapping ("/toadduser") public String toadduser () {return "/userAdd"; } @RequestMapping ("/toupdateuser") public String toupdateuser (Benutzerbenutzer, httpServletRequest -Anforderung) {user user1 = userManager.getOneuser (Benutzer); Request.SetAttribute ("user1", user1); zurück "/useredit"; } @RequestMapping ("/getAlluser") public String getAlluser (httpServletRequest -Anforderung) {list userList = userManager.getallUser (); Request.SetAttribute ("Benutzerliste", Benutzerliste); zurück "/usermain"; }}Quellcode herunterladen ...
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.