1

我有一个 Spring Web 应用程序,其中调度程序 servlet 仅用于静态文件。还有一个用于来自 JavaScript 的 API 调用的 Jersey servlet,映射到另一个 URL 模式,与我的问题不太相关。

目前我的整个调度程序配置如下所示:

@Configuration
@EnableWebMvc
public class DispatcherConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/**").addResourceLocations(
                "classpath:/www/");
    }
}

在我的类路径下有一个main.html文件。www如果有请求/main.html,则文件将正确提供。伟大的。

现在,我希望为 on 上的请求和一堆其他路径返回相同的/文件/part。基本上,我想要某种路径别名,或者从路径到文件的直接映射。我怎样才能实现它?

4

1 回答 1

1

您可以使用default容器的 servlet 来提供static resources

<servlet-mapping>
    <servlet-name>default</servlet-name>
    <url-pattern>*.html</url-pattern>
</servlet-mapping>

从路径到文件的映射可以这样定义:

@Configuration
@EnableWebMvc
public class DispatcherConfig extends WebMvcConfigurerAdapter {
...

    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/pathToStatic").setViewName("/static.html");
    }
...

}

上面的映射会将请求转发/pathToStatic到静态视图static.html

于 2013-09-30T15:03:45.903 回答