Mengenai pemindaian otomatis Spring, di lapisan kontrol, konfigurasi anotasi @Controller digunakan untuk berhasil memulai proyek tanpa kesalahan. Namun, ketika halaman diarahkan, intersepsi yang sesuai tidak dilakukan. Seluruh antarmuka hanya dapat dialihkan ke 404 di antarmuka default. Karena poster itu mencoba untuk pertama kalinya, setelah lingkaran besar, awalnya dikonfirmasi bahwa pengontrol MVC tidak berhasil selama pemindaian. Untuk detailnya, silakan lihat kodenya.
<!-- Turn on controller annotation support--><context:component-scan base-package="com.cjw.test.controller" use-default-filters="false"></context:component-scan> <!-- Make controller annotation effective--> <mvc:annotation-driven/> <!-- The default DefaultServletHandler of the container handles all static content and URLs without RequestMapping Processing-> <mvc: default-servlet-handler/>
Namun, ketika melakukan pengalihan halaman, 404 selalu dilaporkan, karena lapisan kontrol tidak dibedakan dari anotasi lain ketika pemindaian oleh pengontrol. Kode yang dimodifikasi adalah sebagai berikut:
<!-- Enable controller annotation support--><context:component-scan base-package="com.cjw.test.controller" use-default-filters="false"><context:include-filter type="annotation"expression="org.springframework.steretype.Controller"/></context:component-scan>
Pada saat yang sama, untuk membuat item konfigurasi lebih sederhana, poster menghilangkan konfigurasi yang sesuai secara terpisah dan mengamati dampak apa yang akan terjadi pada startup atau lompatan seluruh fungsi.
<MVC: Anotasi-Didorong/>
Kemudian saya menemukan bahwa saya tidak bisa melompat. Akhirnya mengkonfirmasi alasannya adalah sebagai berikut:
Jika konfigurasi akhir tidak memiliki <mvc: annotation-driven/>, maka semua pengontrol mungkin tidak diuraikan. Ketika ada permintaan, semua kelas permintaan yang tidak cocok ketika ada permintaan, maka servlet default akan diproses oleh <mvc: default-servlet-handler/>, yaitu, servlet default. Setelah menambahkan <mvc: anotasi-digerakkan/>, permintaan yang sesuai diproses oleh pengontrol, dan sumber daya statis akan diproses oleh servlet default karena tidak ada pengontrol yang sesuai. Singkatnya, jika tidak ada pengontrol yang sesuai, itu akan ditangani dengan servlet default.
Konfigurasi web.xml adalah sebagai berikut, menggunakan pengalihan halaman statis:
<servlet-mapping> <servlet-name> tes </servlet-name> <rerl-pola>/</rerl-pattern> </servlet-mapping>
Di atas adalah analisis penyebab kegagalan pemindaian otomatis anotasi MVC musim semi yang diperkenalkan oleh editor. Jika Anda memiliki pertanyaan, silakan tinggalkan saya pesan dan editor akan membalas Anda tepat waktu. Terima kasih banyak atas dukungan Anda ke situs web Wulin.com!