我有一个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
发出请求,则会正确提供该文件。大。
现在,我希望为/
,/part
和其他一些路径上的请求返回相同的文件。基本上,我想在这里使用某种路径别名,或者从路径直接映射到文件。我怎样才能实现它?
答案 0 :(得分: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
。