Komponen inti SpringMVC
DispatcherServlet - Controller, Minta Entri
Handermapping-> controller, permintaan distribusi
Pengontrol ―6 ―> Controller, Permintaan Proses Pemrosesan
ModelAndView ---> Model, Encapsulate Hasil dan Tampilan Pemrosesan Bisnis
ViewResolver ---> Lihat, Tampilan Prosesor Tampilan
Proses pemrosesan
Browser mengeluarkan permintaan untuk menyemprotkan dan menyerahkan permintaan kepada pengontrol front-end DispatcherServlet untuk diproses.
Pengontrol menemukan komponen pengontrol yang sesuai untuk menangani permintaan melalui handermapping.
Jalankan metode yang disepakati oleh komponen pengontrol untuk memproses permintaan, dan hubungi komponen model untuk menyelesaikan pemrosesan bisnis dalam metode konvensi. Metode konvensi dapat mengembalikan objek ModelAndView, yang merangkum data hasil pemrosesan bisnis dan melihat informasi nama.
Setelah pengontrol menerima ModelAndView, ia memanggil komponen ViewResolver, menempatkan View (JSP) dan melewati informasi untuk menghasilkan hasil antarmuka respons.
Konfigurasi Komentar memiliki banyak keunggulan dibandingkan konfigurasi XML:
Ini dapat memanfaatkan sepenuhnya mekanisme refleksi Java untuk mendapatkan informasi struktur kelas, yang secara efektif dapat mengurangi pekerjaan konfigurasi. Jika Anda menggunakan anotasi JPA untuk mengonfigurasi pemetaan ORM, kami tidak perlu menentukan nama atribut, jenis dan informasi lain dari PO. Jika bidang tabel hubungan dan nama dan jenis atribut PO adalah sama, Anda bahkan tidak perlu menulis informasi pemetaan atribut tugas - karena informasi ini dapat diperoleh melalui mekanisme refleksi Java.
Komentar dan kode Java terletak di file yang sama, sedangkan konfigurasi XML menggunakan file konfigurasi independen. Sebagian besar informasi konfigurasi tidak akan disesuaikan setelah program dikembangkan. Jika informasi konfigurasi dan kode Java disatukan, itu akan membantu meningkatkan kohesi program. Menggunakan file konfigurasi XML independen, pemrogram sering perlu beralih antara file program dan file konfigurasi saat menulis fungsi. Ketidakkonsistenan dalam pemikiran ini akan mengurangi efisiensi pengembangan.
Komponen pengontrol
Komponen pengontrol bertanggung jawab untuk melakukan pemrosesan bisnis tertentu, dan perlu untuk mengimplementasikan antarmuka pengontrol dan metode yang disepakati selama penulisan.
Komponen ModelAndView
Komponen Konvensi Pengontrol akan mengembalikan objek ModelAndView, yang merangkum data model hasil pemrosesan bisnis dan melihat informasi.
Konstruktor ModelAndView adalah sebagai berikut:
-ModelandView (StringViewName)
-ModelandView (StringViewName, MapModel)
di mana viewname adalah nama halaman JSP, dan data model disimpan dalam atribut permintaan
Komponen handermapping
Melalui komponen handermapping, pengontrol DispatcherServlet dapat memetakan permintaan HTTP ke komponen pengontrol.
-SimpleuserHandlermapping mempertahankan permintaan HTTP dan hubungan pemetaan pengontrol (MAP) untuk memanggil pengontrol sesuai dengan hubungan korespondensi daftar.
SimpleUserHandlermapping
<ean> <name properti = "pemetaan"> <sops> <prop key = "/login.form"> logincontroller </prop> <sops> </prop key = "/hello.form"> HelloController </prop> </prop Propert> </bean> <bean id = "helloController"/>
HelloController dalam tag SimpleUserHandlermapping di atas sesuai dengan komponen yang IDnya hellocontroller dalam tag kacang di bawah ini.
RequestMappingHandlermapping
ResquestmappingHandlerapter
Gunakan anotasi @ResQuestMapping pada kelas pengontrol dan metode untuk menentukan permintaan HTTP klien yang sesuai.
Komponen ViewResolver
Semua komponen pengontrol mengembalikan contoh ModelAndView, merangkum nama tampilan, tampilan di musim semi diidentifikasi dengan nama, dan View Resolver ViewResolver menyelesaikan tampilan melalui nama.
InternalResourCeviewResolver membungkus servlet dan JSP, menggunakan contoh:
<bean id = "jspviewResolver"> <name properti = "prefix" value = "/web-inf/jsp/"/> <name properti = "suffix" value = ". jsp"/> </bean>
Misalnya: Nama tampilan halo dapat dipetakan ke /web-inf/hello.jsp melalui konfigurasi di atas
Anotasi pengontrol
Kami biasanya menggunakan anotasi @Controller untuk mendeklarasikan komponen pengontrol, yang membuatnya lebih fleksibel dan Anda tidak perlu menerapkan antarmuka pengontrol seperti sebelumnya.
@ControllerPublic kelas HelloController {public String execute () {return "hello"; }}Ada prasyarat untuk menggunakan anotasi di atas, yaitu untuk memungkinkan pemindaian anotasi:
<konteks: komponen-scan-package = "org.test.controller">
Paket dasar menulis paket di mana komponen pengontrol berada.
Anotasi resquestmapping
ResquestMapping menunjukkan permintaan mana yang sesuai dengan kelas atau metode ini.
@Controller @resquestmapping ("/test1") kelas publik hellocontroller {@resquestmapping ("/hello.form") string publik helloexecute () {return "hello"; }}Jika Anda perlu menggunakan RequestMapping, Anda perlu mendefinisikan dua komponen kacang dalam permintaan file konfigurasi XML SPRING XML.
<bean/> <bean/>
Versi Spring 3.2 tidak perlu didefinisikan
<MVC: Anotasi-Didorong/>
Meringkaskan
Di atas adalah pengenalan singkat catatan pada musim semi dalam artikel ini, dan saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke topik terkait lainnya di situs ini. Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!