Spring MVC 注解主動掃描掉效緣由剖析。本站提示廣大學習愛好者:(Spring MVC 注解主動掃描掉效緣由剖析)文章只能為提供參考,不一定能成為您想要的結果。以下是Spring MVC 注解主動掃描掉效緣由剖析正文
關於spring主動掃描,在掌握層,采取注解設置裝備擺設@Controller,項目可以或許勝利啟動,且無任何報錯。然則 在停止頁面跳轉時,並未停止響應的攔阻,全部界面只能在默許界面 ,跳轉報404,因為樓主首次測驗考試,在繞了一個年夜圈後,初步確認是在掃描時mvc掌握器,並未勝利,概況請看代碼
<!-- 開啟controller注解支撐 --> <context:component-scan base-package="com.cjw.test.controller" use-default-filters="false"> </context:component-scan> <!--使掌握器注解失效--> <mvc:annotation-driven/> <!-- 容器默許的DefaultServletHandler處置 一切靜態內容與無RequestMapping處置的URL--><mvc:default-servlet-handler/>
然則在停止頁面跳轉時,一直報404,由於在掌握器掃描時未將掌握層與其他注解差別,修正子女碼以下:
<!-- 開啟controller注解支撐 --> <context:component-scan base-package="com.cjw.test.controller" use-default-filters="false"> <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan>
同時,為求將設置裝備擺設項最簡略化,樓主分離剔除響應的設置裝備擺設,不雅察其會對 全部功效的啟動或跳轉發生甚麼影響,在去除
<mvc:annotation-driven/>
後發明異樣不克不及跳轉。最初確認其緣由以下:
最初的設置裝備擺設假如沒有<mvc:annotation-driven/>,那末一切的Controller能夠就沒有解析,一切當有要求時刻都沒有婚配的處置要求類,就都去<mvc:default-servlet-handler/>即default servlet處置了。添加上<mvc:annotation-driven/>後,響應的要求被Controller處置,而靜態資本由於沒有響應的Controller就會被default servlet處置。總之沒有響應的Controller就會被default servlet處置就ok了。
web.xml設置裝備擺設以下,采取靜態頁面跳轉:
<servlet-mapping> <servlet-name>test</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
以上所述是小編給年夜家引見的Spring MVC 注解主動掃描掉效緣由剖析,假如年夜家有任何疑問請給我留言,小編會實時答復年夜家的。在此也異常感激年夜家對網站的支撐!