gpt4 book ai didi

java - Spring 调度程序 servlet 中静态资源的路径别名

转载 作者:太空宇宙 更新时间:2023-11-04 07:22:42 25 4
gpt4 key购买 nike

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

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

@Configuration
@EnableWebMvc
public class DispatcherConfig extends WebMvcConfigurerAdapter {

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

我的类路径中的 www 下有一个 main.html 文件。如果针对 /main.html 发出请求,则该文件将被正确提供。太棒了。

现在,我希望针对 //part 和许多其他路径上的请求返回相同的文件。基本上,我想要在这里使用某种路径别名,或者从路径到文件的直接映射。我怎样才能实现它?

最佳答案

您可以使用容器的默认 servlet 来提供静态资源:

<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 的请求转发到静态 View static.html

关于java - Spring 调度程序 servlet 中静态资源的路径别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19069355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com