如何选择Spring Boot webapp的URL?

The*_*heo 47 url web-applications spring-boot

我使用Spring Boot创建一个Web应用程序,我不知道如何将URL更改localhost:8080为类似的东西localhost:8080/myWebApp.

我看到很多资源在线引用application.properties文件并将其添加到类路径中.但是,我不确定究竟放在哪里.

问题

  • 在我的src/main/resources

  • 我如何在文件中分配URL?

geo*_*and 73

您需要将属性设置server.contextPath/myWebApp.

查看文档的这一部分

设置该属性的最简单方法是在您正在使用的属性文件中(最有可能application.properties),但Spring Boot提供了许多不同的设置属性的方法.查看文档的这一部分

编辑

正如@AbdullahKhan所提到的,从Spring Boot 2.x开始,该属性已被弃用,应该替换为server.servlet.contextPath正如答案中正确提到的那样.

  • 从 spring boot 2 开始,不推荐使用 `server.contextPath` 属性。改用`server.servlet.contextPath`。查看 [this](/sf/answers/3429097661/) 答案。 (4认同)
  • 如何执行此操作,使其仅与RestControllers一起使用并在没有上下文的情况下访问普通Controllers? (2认同)

M. *_*num 15

在你src/main/resources放一个application.propertiesapplication.yml放在server.contextPath那里.

server.contextPath=/your/context/here
Run Code Online (Sandbox Code Playgroud)

在启动您的应用程序时,该应用程序将在http://localhost:8080/your/context/here.

有关要设置的属性的完整列表,请参见Spring Boot参考指南的附录A.

您可以在启动应用程序时将其作为系统属性传递,而不是将其放在application.properties中

java -jar yourapp.jar -Dserver.contextPath=/your/path/here
Run Code Online (Sandbox Code Playgroud)

  • 现在不推荐使用`server.context-path`,现在使用`server.contextPath` (3认同)
  • 如何强制执行此操作仅适用于RestControllers并在没有上下文的情况下访问普通控制器? (2认同)
  • 我的application.properties中的server.contextPath被忽略:(在Tomcat 8.5.6上运行Spring v1.4.2.RELEASE (2认同)

bra*_*log 14

从Spring boot 2开始,该server.contextPath属性已被弃用.相反,你应该使用server.servlet.contextPath.

所以在你的application.properties文件中添加:

server.servlet.contextPath=/myWebApp

有关更多详细信息,请参阅:https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.0-Migration-Guide#servlet-specific-server-properties


k_o*_*_o_ 5

在Spring Boot 2中eg中的属性application.propertiesserver.servlet.context-path=/myWebApp设置上下文路径。

https://docs.spring.io/spring-boot/docs/2.0.1.BUILD-SNAPSHOT/reference/htmlsingle/#_custom_context_path