我想将自己的应用程序名称作为前缀添加。例如:http://localhost:8084/MyApp/some-url。但当我点击某个链接(href)时,它会重定向到http://localhost:8084/some-url。
同时,我已经在属性文件中添加了server.servlet.context-path=/MyApp。
注意: 我正在使用Spring Boot 2.5.4v和嵌入式Tomcat 9.0.53v。
Spring Boot: 2.7.9和其内嵌的Tomcat版本为9.0.0以上。
我注意到server.servlet.contextPath=/my-path
不起作用,它会选择Gradle构建时可执行jar文件的名称。也就是说,在构建时jar文件的名称(它将在openjdk:11-jre-slim容器中部署到AWS Fargate)。
这个对我们有效:
@Bean
public WebServerFactoryCustomizer<ConfigurableServletWebServerFactory> webServerFactoryCustomizer() {
return factory -> factory.setContextPath("my-path");
}
您可以在任何配置类中定义此bean。 我知道这个也适用于嵌入式Tomcat,但更像是部署时的配置:
java -jar -Dserver.servlet.context-path=/my-path your-jar-file-name.jar
server.servlet.context-path=/MyApp
附加后可以正常工作。请参见 https://dev59.com/3GIj5IYBdhLWcg3wTTcG - İsmail Y.server.servlet.context-path=/MyApp
控制器: `@RequestMapping("/some-url") public String somePage(Model model) { model.addAttribute("message", "Hello world!"); return "some-page"; }` - Waseem