SpringMVC 之 BUG集中篇
本章总结我在使用SpringMVC时遇见的一些BUG或者Exception。
SpringMVC 引入静态资源,如 css、image、js等。
我们在使用 SpringMVC 引入静态资源,如 css、image、js等 会出现一些情况比如某个静态资源找不到等。此时我们需要知道:静态资源的根目录应用 /WEB-INF/目录同级。
目录
引用
Spring 与 SpringMVC扫描包的方式和依赖范围
在搭建SSM框架时出现过一个错误让我们纠结了半天,先说明一下这个错误。
我们知道Spring 与 SpringMVC 能无缝整合,但实际上在Spring IOC Container 装配Bean实例的时候Spring MVC 和 Spring 扫描的范围是不一样的。
Spring MVC
只扫描含有Controller 注解的Bean<context:component-scan base-package="com.sstps" use-default-filters="false"> <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller" /> <context:include-filter type="annotation" expression="org.springframework.web.method.ControllerAdviceBean" /> </context:component-scan>
Spring 应扫描除 Controller注解意外的所有Bean(默认时基于注解扫描的)
<!-- 开启基于注解的扫描 --> <context:annotation-config /> <!-- 扫描指定包 --> <context:component-scan base-package="com.sstps"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" /> <context:exclude-filter type="annotation" expression="org.springframework.web.method.ControllerAdviceBean" /> </context:component-scan>
另外多说一句:SpringMVC 装配的Bean 可以引用 Spring装配的Bean,反过来则不行。
SpringMVC 默认欢迎页面的处理
一般SpringMVC 默认的欢迎页面应该与 WebRoot或者 WEB-INF 目录同级(使用默认的拦截方法)