使用spring 3.2.4 MVC进行CSS映射 - 没有web.xml

时间:2014-02-23 10:16:41

标签: css eclipse spring model-view-controller jetty

我有一个春季MVC应用程序我正试图用eclipse和jetty运行。所有注释,没有web.xml。在这里尝试了一半的答案后,我仍然无法让我的CSS工作。

我的css就在这里

src/main/webapp/resources/css/main.css

在我的JSP中我有

<link rel="stylesheet" type="text/css" href="<c:url value="/resources/css/main.css" />">

哪个看起来正确,解析为

<link rel="stylesheet" type="text/css" href="/resources/css/main.css">

我已经尝试将此添加到我的applicationContext.xml

<mvc:resources mapping="/resources/**" location="/resources/" />

仍然没有找到css。

有什么想法吗?

修改

我的初始化

public class WebInitializer implements WebApplicationInitializer {

    private final Logger log = Logger.getLogger(WebInitializer.class);

    public void onStartup(ServletContext container) {

        log.info("Starting web app");

        // Create the 'root' Spring application context
        AnnotationConfigWebApplicationContext rootContext = new AnnotationConfigWebApplicationContext();
        rootContext.register(AppConfig.class);
        container.addListener(new ContextLoaderListener(rootContext));

        // Create the dispatcher servlet's Spring application context
        AnnotationConfigWebApplicationContext dispatcherContext = new AnnotationConfigWebApplicationContext();
        dispatcherContext.register(MvcConfig.class);

        // Register and map the dispatcher servlet
        ServletRegistration.Dynamic dispatcher = container.addServlet("dispatcher", new DispatcherServlet(dispatcherContext));
        dispatcher.setLoadOnStartup(1);
        dispatcher.addMapping("/");
    }
}

1 个答案:

答案 0 :(得分:0)

看起来您无法将XML和程序化配置结合起来。

我找到了this链接。在我的配置类中输入后,它工作了......

public class WebConfig extends WebMvcConfigurerAdapter {

  @Override
  public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry.addResourceHandler("/resources/**").addResourceLocations("/public-resources/");
  }

}