เกี่ยวกับการสแกนอัตโนมัติในสปริงในเลเยอร์ควบคุมการกำหนดค่าคำอธิบายประกอบ @Controller ใช้เพื่อเริ่มโครงการสำเร็จโดยไม่มีข้อผิดพลาดใด ๆ อย่างไรก็ตามเมื่อหน้าถูกเปลี่ยนเส้นทางการสกัดกั้นที่สอดคล้องกันจะไม่ดำเนินการ อินเทอร์เฟซทั้งหมดสามารถเปลี่ยนเส้นทางไปยัง 404 ในอินเทอร์เฟซเริ่มต้นเท่านั้น ตั้งแต่โปสเตอร์พยายามเป็นครั้งแรกหลังจากวงกลมใหญ่มันได้รับการยืนยันในขั้นต้นว่าคอนโทรลเลอร์ MVC ไม่ประสบความสำเร็จในระหว่างการสแกน สำหรับรายละเอียดโปรดดูรหัส
<!-เปิดการสนับสนุนคำอธิบายประกอบของคอนโทรลเลอร์-> <บริบท: Component-Scan base-base-package = "com.cjw.test.controller" Use-default-filters = "False"> </บริบท: Component-Scan> <! การประมวลผล-> <MVC: Default-Servlet-Handler/>
อย่างไรก็ตามเมื่อทำการเปลี่ยนเส้นทางหน้าจะมีการรายงาน 404 เสมอเนื่องจากเลเยอร์ควบคุมไม่แตกต่างจากคำอธิบายประกอบอื่น ๆ เมื่อสแกนโดยคอนโทรลเลอร์ รหัสที่แก้ไขมีดังนี้:
<!-เปิดใช้งานการสนับสนุนคำอธิบายประกอบของคอนโทรลเลอร์-> <บริบท: Component-scan base-base-package = "com.cjw.test.controller" ใช้ default-filters = "false"> <บริบท: รวมตัวกรองประเภท = "Annotation" expression = "org.springframework.steretype.controller
ในเวลาเดียวกันเพื่อให้รายการการกำหนดค่าง่ายขึ้นโปสเตอร์จะกำจัดการกำหนดค่าที่สอดคล้องกันแยกต่างหากและสังเกตว่ามันจะส่งผลกระทบต่อการเริ่มต้นหรือกระโดดของฟังก์ชั่นทั้งหมด
<MVC: คำอธิบายประกอบที่ขับเคลื่อนด้วย/>
หลังจากนั้นฉันก็พบว่าฉันไม่สามารถกระโดดได้ ในที่สุดก็ยืนยันว่าเหตุผลมีดังนี้:
หากการกำหนดค่าขั้นสุดท้ายไม่มี <MVC: คำอธิบายประกอบที่ขับเคลื่อนด้วย/> ตัวควบคุมทั้งหมดอาจไม่ถูกแยกวิเคราะห์ เมื่อมีการร้องขอคลาสคำขอทั้งหมดที่ไม่ตรงกันเมื่อมีคำขอแล้ว Servlet เริ่มต้นจะถูกประมวลผลโดย <MVC: Default-Servlet-Handler/> นั่นคือ Servlet เริ่มต้น หลังจากเพิ่ม <MVC: คำอธิบายประกอบที่ขับเคลื่อนด้วย/> คำขอที่เกี่ยวข้องจะถูกประมวลผลโดยคอนโทรลเลอร์และทรัพยากรคงที่จะถูกประมวลผลโดย Servlet เริ่มต้นเนื่องจากไม่มีคอนโทรลเลอร์ที่สอดคล้องกัน ในระยะสั้นหากไม่มีคอนโทรลเลอร์ที่สอดคล้องกันมันจะถูกจัดการโดย Servlet เริ่มต้น
การกำหนดค่า web.xml มีดังนี้โดยใช้การเปลี่ยนเส้นทางหน้าคงที่:
<servlet-mapping> <servlet-name> ทดสอบ </servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
ข้างต้นคือการวิเคราะห์สาเหตุของความล้มเหลวในการสแกนอัตโนมัติของสปริง MVC คำอธิบายประกอบการสแกนอัตโนมัติที่แนะนำโดยตัวแก้ไข หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!