Proyek awal relatif sederhana, sebagian besar secara langsung berurusan dengan JSP, Servlet + JDBC. Kemudian, Struts1 (Struts2)+Spring+Hibernate digunakan untuk mendorong pengembangan proyek secara ketat sesuai dengan konsep pelapisan. Kali ini, Spring MVC digunakan untuk mengganti struts untuk pengembangan.
MVC sudah menjadi bagian yang sangat penting dari pengembangan web modern. Mari kita perkenalkan pembangunan lingkungan pengembangan SpringMVC+Spring3+Hibernate4.
Mari kita lihat struktur proyek:
Kode spesifik tidak akan ditunjukkan lagi, terutama mengambil rute yang sangat biasa, struktur MVC-Servcie-Dao-Hibernate, kode sumber dapat diunduh, terutama melihat file konfigurasi. Lihat komentar untuk penjelasan
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/xmlns =" http://java.com/xmlns = "http://java.com/xmlns = 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" Versi = "2.5"> <play-name> Spring-name> DISPACY-NOME < <creend Welcome-File> index.jsp </celcome-file> </celcome-file-file> <!-Mengkonfigurasi spring-> <scontact-param> <param-name> ContextConfigLocation </param-name> <param-value> classpath*: config/spring-*. <listener-class> org.springframework.web.context.contextLoaderListener </engeaner-class> </engeaner> <!-Mengkonfigurasi springmvc-> <servlet> <servlet-name> </servlet-name> <servlet-class> org.springfring.weB.weB. <param-name> ContextConfigLocation </param-name> <param-value> classpath*: config/spring-servlet.xml </param-value> </it-param> <Boad-on-startup> 1 </load-on-startup> </servlet> <rest-mapping> <urser-name> <-name-name> </servlet> <rest-mapping> <rest-name> Springmc </servleter> <rest-mapping> <rest-name> Springmc </servleter> <rest-mapping> <rest-name> Springmc </Servleter> <servlet> <rest-pings </servlet-Mapping> <!-Setel Set Character-> <nilter> <filter-name> encodingfilter </tiler-name> <nilter-class> org.springframework.web.filter.characterencodingFilter </filter-class> <in-param> <param-name> encoding </param-name> <init-param> <param-name> encoding </param-name> <param-param> <in-param> <param-name> encoding </param-name> <Ilin-param> <param-name> ForceEncoding </param-name> <param-value> true </param-value> </init-param> </filter> <nilter-Mapping> <nilter-name> encodingfilter </filter-name> <rile-Pattern> </Url-Pattern> </filter-mapping> <filter-name> <url-pola>/*</url-pola> </filter-mapping> <ter name> <url-pola>/</url-pola> </filter-mappaping> <filter> snower-snower-Sesi </Url-Pattern> </Filter-Mapping> <ter! <nilter-class> org.springframework.orm.hibernate4.support.opensessionInviewFilter </tiler-class> </tiler> <nilter-Mapping> <nilter-name> OpenSession </tiler-name> <RURL-PATER>/*</RURL-POLATH> </TERFERNITE-MEPPING> </Web-appap>
Spring-servlet.xml
<? Xml Version = "1.0" encoding = "UTF-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: context = "http://www.springframework.org/scema/www.spramework.org/scema/contpema/www.spramework.org/orgaMema/contpa/context" xmlns: p = "http://www.springframework.org/schema/p" xmlns: mvc = "http://www.springframework.org/schema/mvc" xmlns: xsi = "http:/schema.MVC" XSI: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-weans-3.0.xsd http:/wwww.spramework.orgemork.orgemework.orgemework.orgemework/orgemork.orgemork.orgemork.orgework.orgemork.orgemork.orgework.orgor.orger.orgemork http://www.springframework.org/schema/context/spring-context.xsd http://www.spramework.org/schema/mvc http:/www.spramewework.org/schema/mvc.mvc.pramework Paket pemindaian-> <konteks: komponen-scan-package = "com.jialin" /> <!-Buka Skema Anotasi 1-> <!-Pemrosesan Metode Anotasi-> <!-<bean />-> <!-CLASS CLASS BUKU-> <!-<bean> < /bean>-> <!-Buka CLASS CLASSE-> <!-<bean> < /bean>-> <!-Buka CLASS CLASSE-> <!-<bean> < /bean>-> <!-Buka CLASS CLASS SCREENCE-> <! Akses, Solusi 1-> <MVC: Lokasi Sumber Daya = "/IMG/" Pemetaan = "/Img/**"/> <mvc: Sumber daya Lokasi = "/js/" pemetaan = "/js/**"/> <!-Akses sumber daya statis, skema 2-> <!-<mvc: class-servet-handler/> <! name = "prefix" value = "/"> </propt> <!-dapat kosong, nyaman untuk mengimplementasikan logika kelas interpretasi tampilan berdasarkan ekstensi Anda-> <properti nama = "suffix" value = ". jsp"> </propert> </temuksol "<!-unggah nama bean-> <!-<bean id iD =" multipartry "<! name = "MAXUPLOADSIZE" Value = "10485760000" /> <name properti = "maxInmemorySize" value = "40960" /> </t bean> -> </tean>
Spring-hibernate.xml
<? Xml Version = "1.0" encoding = "UTF-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: context = "http://www.springframework.org/scema/www.spramework.org/scema/contpema/www.spramework.org/orgaMema/contpa/context" xmlns: p = "http://www.springframework.org/schema/p" xmlns: mvc = "http://www.springframework.org/schema/mvc" xmlns: xsi = "http:/schema.MVC" XSI: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-weans-3.0.xsd http:/wwww.spramework.orgemork.orgemework.orgemework.orgemework/orgemork.orgemork.orgemork.orgework.orgemork.orgemork.orgework.orgor.orger.orgemork http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http:/www.springframework.org/schema/mvc.mvc. Sumber-> <bean id = "DataSource"> <name properti = "driverclassname" value = "com.mysql.jdbc.driver" /> <name properti = "url" value = "jdbc: mysql: //127.0.0.1/springmvc" /<"name properten =" "" "" "" "" "" "name /" name "neomprward =" " value = "123456" /> </ bean> <!-Mengkonfigurasi hibernate sessionFactory-> <bean id = "sessionfactory"> <name properti = "dataSource" ref = "dataSource" /> <nama properti = "hibernateProperty"> <ops> <fop kunci = "hibernate.dialect.dialect..dialect.dialechyeching"> <UPTS> <fop kunci = "hibernate.dialect. <prop key = "hibernate.hbm2ddl.auto"> update </prop> <prop key = "hibernate.show_sql"> true </por> <prop key = "hibernate.format_sql"> true </prop> </prop> </verse property> <Properti Nama Properti = "ConfigLocations"> classpath*: config/hibernate/hibernate.cfg.xml </ value> </cist> </pruptent> </tagel> <!-Transaction Manager-> <bean id = "transactionManager"> <nama properti = "-intion" Ref = "Sesionfactory"> </properti </bean> <!--inticory "Refr =" Sesionfactory "> </properti </bean> <! 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> <prop key = "del*"> propagation_required, -exception </prop> <prop key = "get*"> propagation_never </prop> </props> </propert> </bean> </beans>
Spring-core.xml
<? Xml Version = "1.0" encoding = "UTF-8"?> <beans xmlns = "http://www.springframework.org/schema/beans" xmlns: context = "http://www.springframework.org/scema/www.spramework.org/scema/contpema/www.spramework.org/orgaMema/contpa/context" xmlns: p = "http://www.springframework.org/schema/p" xmlns: mvc = "http://www.springframework.org/schema/mvc" xmlns: xsi = "http:/schema.MVC" XSI: schemalocation = "http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-weans-3.0.xsd http:/wwww.spramework.orgemork.orgemework.orgemework.orgemework/orgemork.orgemork.orgemork.orgework.orgemork.orgemork.orgework.orgor.orger.orgemork http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http:/www.springframework.org/schema/mvc File Konfigurasi, yang dapat berupa beberapa-> <import resource = "classpath*: config/spring/spring-User.xml"/> </beans>
spring-user.xml
<? XML Versi = "1.0" encoding = "UTF-8"?> <! Doctype Beans Public "-// Spring // DTD Bean 2.0 // en" "http://www.springframework.org/dtd/spring-beans-2.0.dtd" [<! Entergycl englude/dtd/spring-beans-2.0.dtd "[! "org/springframework/web/context/WEB-INF/contextInclude.xml"> ]> <beans> <!-- Spring Bean --> <bean id="userDao"> <property name="sessionFactory" ref="sessionFactory"></property> </bean> <bean id="userManagerBase"> <property name="userDao" ref="userDao"></property> </bean> <!-Orangtua adalah transactionBese, menunjukkan bahwa transaksi didukung-> <bean id = "userManager" Parent = "transactionBese"> <properti nama = "target" ref = "userManagerBase"> </propert> </bean> </bean>
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> <papping-facpory> <penser-clastion <! </sesi-Factory> </hibernate-konfigurasi>
Mari kita lihat controller
paket com.jialin.controller; impor java.io.ioException; impor java.io.printwriter; impor java.util.list; impor javax.annotation.Resource; impor javax.servlet.http.httpservletRequest; impor javax.servlet.http.httpservletResponse; impor org.springframework.stereotype.controller; impor org.springframework.web.bind.annotation.requestmapping; impor com.jianin.entity.user; impor com.jianin.service.iuserManager; @Controller // aksi struts-like @RequestMapping ("/user") kelas publik usercontroller {@resource (name = "userManager") // Dapatkan ID bean dalam file konfigurasi Spring sebagai UserManager, dan suntikkan private iuserManager userManager; @RequestMapping ("/addUser") // Meminta pemetaan alamat URL, mirip dengan string-pemetaan public string public (pengguna pengguna) {if (if userManager.adduser (user)) {// redirect return "redirect:/user/getalluser"; } else {return "/fail"; }} @RequestMapping ("/updateUser") Public String UpdateAser (pengguna pengguna, permintaan httpservletRequest) {if (userManager.updateUser (user)) {user = userManager.getoneUser (user); request.setAttribute ("pengguna", pengguna); kembali "/useredit"; } else {return "/fail"; }} @RequestMapping ("/deluser") public void deluser (pengguna pengguna, respons httpservletResponse) {string result = "{/" result/":/" error/"}"; if (userManager.deluser (user)) {result = "{/" result/":/" Success/"}"; } Printwriter out = null; response.setContentType ("Application/JSON"); coba {out = response.getWriter (); out.write (hasil); } catch (ioException e) {e.printstacktrace (); }} @RequestMapping ("/toadduser") public string toadduser () {return "/userAdd"; } @RequestMapping ("/ToupDateUser") Public String ToupDateUser (Pengguna pengguna, permintaan httpservletRequest) {user user1 = userManager.getoneUser (user); request.setAttribute ("user1", user1); kembali "/useredit"; } @RequestMapping ("/getAllUser") Public String getallUser (permintaan httpservletRequest) {daftar userList = userManager.getallUser (); request.setAttribute ("UserList", UserList); kembali "/usermain"; }}Download kode sumber ...
Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.