我正在使用SpringMVC并尝试使用pure HTML + JS
作为视图。我注意到有可能3 possible places
可以处理像login.html
这样的静态资源。他们是:
映射到seemingly
静态资源URL的控制器处理程序方法。
@RequestMapping(value = "login.html")
public String doLogin(Model model) {
return "login";
}
指定静态资源类型和位置的addResourceHandlers
:
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("*.html").addResourceLocations(("/static/"));
}
Tomcat的DefaultServlet
,definition,意为serve static resources
。并且可以在SpringMVC中启用,如下所示:
@Override
public void configureDefaultServletHandling(
DefaultServletHandlerConfigurer configurer) {
// TODO Auto-generated method stub
configurer.enable();
}
我的问题是:
addResourceHandler()
和Tomcat DefaultServlet
之间的关系是什么?我猜是addResourceHandler()
告诉DefaultServlet
在哪里可以找到某种类型的静态资源。一些相关链接:
SpringMVC ResourceHttpRequestHandler
提供的资源。
21.16.10 Falling Back On the "Default" Servlet To Serve Resources
servlet容器的DefaultServet
通过SpringMVC的DefaultServletHttpRequestHandler