之間的一個問題


在做項目的時候,我希望靜態資源由WEB服務器默認的Servlet來處理,所以我在配置文件中添加了如下的語句:

           <mvc:default-servlet-handler/>

但是我再次運行項目,並訪問資源的時候,發現訪問@RequestMapping("/path1/path2")都不能訪問了,之前沒有添加的時候是能夠訪問的。

解決方案是,在配置文件中再添加一句代碼:

           <mvc:annotation-driven/>

這樣做的原因是:

    

當兩種標簽都沒有的時候,框架默認注冊的有AnnotationMethodHandlerAdapter這個bean,所以能夠處理@RequestMapping這個注解,但是只配置了<mvc:default-servlet-handler/>時所注冊的三個bean都不能處理@RequestMapping注解,因此無法找到相應的Controller,進而無法進行訪問路徑的映射,當兩種標簽都有的時候,<mvc:annotation-driven/>會注冊一個RequestMappingHandlerAdapter的bean,這個bean能夠處理@RequestMapping這個注解。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM