某项目webapp下有子目录res,其中有img、css、js等存放静态资源的文件夹。
在定义了dispacher-servlet的<url-pattern>/</url-pattern>后,
<!-- 配置DispatcherServlet -->
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
为访问静态资源,特别在dispacher-servlet.xml定义了<mvc:resource/>标签
<!-- 注解驱动 -->
<mvc:annotation-driven /> <!-- 静态资源访问,约定:静态资源都放在web应用根的res文件夹中 -->
<mvc:resources location="/res/" mapping="/res/**" />
随后定义了HomeController,如下:
@Controller
public class HomeController { @RequestMapping(method=RequestMethod.GET)
public String home() {
return "home";
}
}
结果,无法访问静态资源
为Controller加上url模式,
@Controller
public class HomeController { @RequestMapping(value="/", method=RequestMethod.GET)
public String home() {
return "home";
}
}
之后,访问静态资源正常了。