某項目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"; } }
之后,訪問靜態資源正常了。