我使用Spring MVC和AngularJS作为前端。不幸的是,在Tomcat中部署时看不到静态文件。
我的目标是将AngularJS前端文件和Spring后端内容一起部署为一个WAR文件,以便在Tomcat中部署。
我不想使用JSP或Spring XML文件。
这是我的Eclipse Maven文件夹的结构:
Structure of webapp folder
我的index.html文件包含以下条目:
<script type="text/javascript" src="bower_components/angular/angular.js"></script>
<script src="bower_components/angular-route/angular-route.js"></script>
<script src="bower_components/angular-xeditable/dist/js/xeditable.js"></script>
<script src="bower_components/angular-resource/angular-resource.js"></script>
<script src="js/app.js"></script>
<script src="js/controllers.js"></script>
<script src="js/services.js"></script>
<link href="bower_components/angular-xeditable/dist/css/xeditable.css"
rel="stylesheet">
<link href="bower_components/bootstrap/dist/css/bootstrap.min.css"
rel="stylesheet">我的SpringConfig.java看起来像这样:
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/bower_components/**").addResourceLocations("/bower_components").setCachePeriod(3600);
registry.addResourceHandler("/js/**").addResourceLocations("/js");
}
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}我希望有人能帮帮我!
发布于 2016-07-16 04:18:16
我认为这只是你的斜杠的问题。试试这个:
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("bower_components/**").addResourceLocations("/bower_components/").setCachePeriod(3600);
registry.addResourceHandler("js/**").addResourceLocations("/js/");
}如果这不起作用,你可能不得不摆弄它。没有人知道为什么会这样,但不幸的是,URL路径模式匹配多年来一直是Spring MVC最不一致和最令人头疼的方面之一。
https://stackoverflow.com/questions/38402225
复制相似问题