Spring 4.3.0 + Tomcat:静态文件的“无法加载资源”消息

时间:2016-07-15 17:41:52

标签: spring-mvc

我使用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();
    }

我希望有人可以帮助我!

1 个答案:

答案 0 :(得分:0)

我认为这只是你的斜线问题。试试这个:

   @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                     Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.xyz, container, false);

FloatingActionButton fab = (FloatingActionButton) view.findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {

       View view = YouFragmentClass.this.getView(); // returns base view of the fragment

     if (view != null&&(view instanceof ViewGroup)){

   //set the properties for button
     Button btn = new Button(this);
     btn.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
     btn.setText("Button");


    ViewGroup viewGroup = (ViewGroup) view;
    viewGroup.addView(btn);
}
    }
});
return view;

如果这不起作用,你可能不得不摆弄它。没有人知道为什么会这样,但不幸的是,URL路径模式匹配多年来一直是Spring MVC中最不一致和最不稳定的方面之一。