我创建了具有以下文件夹结构的示例Spring MVC REST Maven项目
ResourceHandlerRegistry配置如下
@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.raju.spring_app")
public class RootConfiguration extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static_res/*").addResourceLocations("/WEB-INF/html/static_res/");
}
//Other methods
}
Servlet映射如下
public class HelloWorldInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected String[] getServletMappings() {
return new String[] { "/", "/static_res/*" };
}
//Other Methods
}
问题是每当我尝试访问资源时 http://localhost:8080/spring4_rest_angular_demo/static/css/app.css
我收到404错误。 我想保留此文件夹结构以获取css IntelliSense建议 在index.jsp文件中。
<link href="static_res/css/app.css" rel="stylesheet"></link>
答案 0 :(得分:1)
几乎没有更正:
替换
New Product
与
return new String[] { "/", "/static_res/*" };
和
return new String[] { "/" };
与
registry.addResourceHandler("/static_res/*")
此外,正确的路径是
registry.addResourceHandler("/static_res/**")
而不是
http://localhost:8080/spring4_rest_angular_demo/static_res/css/app.css
答案 1 :(得分:0)
使用Spring 3.0.4.RELEASE及更高版本,您可以使用
<mvc:resources mapping="/resources/**" location="/public-resources/"/>
所示
此外,您应该避免将页面放在WEB-INF
中。将层次结构中html/css/js
的文件夹置于Web应用程序文件夹下。通常,在WEB-INF
中应该只有配置xml文件。