如何选择Spring Boot webapp的URL?

时间:2014-06-27 12:39:20

标签: url web-applications spring-boot

我使用Spring Boot创建了一个网络应用,但我不确定如何将网址从localhost:8080更改为localhost:8080/myWebApp之类的内容。

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

问题

  • 在我的src/main/resources

  • 如何在文件中指定网址?

7 个答案:

答案 0 :(得分:71)

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

查看文档的this部分

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

修改

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

答案 1 :(得分:14)

src/main/resources中添加application.propertiesapplication.yml并在其中添加server.contextPath

server.contextPath=/your/context/here

启动申请时,申请将在http://localhost:8080/your/context/here

上提供

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

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

java -jar yourapp.jar -Dserver.contextPath=/your/path/here

答案 2 :(得分:13)

从春季启动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

答案 3 :(得分:2)

在Spring Boot 2中,例如在server.servlet.context-path=/myWebApp中{{1}}设置上下文路径。

write your own service provider for that middleware

答案 4 :(得分:1)

如果

,则server.contextPath或server.context-path有效

在pom.xml中

  1. 包装应该是战争而不是罐子
  2. 添加以下依赖项

    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- Tomcat/TC server --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>

    在eclipse中,右键单击项目 - &gt;以 - &gt;运行Spring Boot App。

答案 5 :(得分:0)

标题为Spring Boot Change Context Path的帖子中很好地解决了更改Spring应用程序上下文路径的问题。

基本上,该帖子讨论了实现此目标的多种方法。

  1. Java Config
  2. 命令行参数
  3. Java系统属性
  4. OS环境变量
  5. 当前目录中的application.properties
  6. 类路径中的
  7. application.properties(src / main / resources或 打包的jar文件)

答案 6 :(得分:0)

Spring Boot 默认情况下在根上下文路径(“ /”)上提供内容。有时我们需要自定义路径。有多种方法可以实现。

更改上下文路径最直接的方法是在application.properties中设置属性。

server.servlet.context-path=/myWebApp

另一种方法是在初始化上下文之前将上下文路径设置为Java系统属性:

public static void main(String[] args) {
System.setProperty("server.servlet.context-path", "/myWebApp");
SpringApplication.run(Application.class, args);
}

您还可以通过命令行参数动态设置属性

java -jar app.jar --server.servlet.context-path=/myWebApp

Spring Boot也可以依赖于OS环境变量。在基于Unix的系统上,我们可以编写:

export SERVER_SERVLET_CONTEXT_PATH=/myWebApp

在Windows上,用于设置环境变量的命令为:

set SERVER_SERVLET_CONTEXT_PATH=/myWebApp

注意:这些解决方案适用于 spring boot 2.x.x 。希望对您有所帮助。