我们可以在同一端口中运行多个spring boot应用程序吗?如果没有,为什么在application.properties中有上下文路径选项?

时间:2019-04-29 11:04:38

标签: spring spring-boot

server.port=8080
server.contextPath=/myapp

在spring boot应用程序的application.properties中考虑以上配置。如果我们不能真正在同一个端口8080上运行另一个Spring Boot应用程序,那么contextPath有什么需求。任何人都可以提供一些有用的实时场景来使用contextPath吗?

[编辑] 以我的经验,当我们将多个Web应用程序(Web应用程序上下文)部署到在8080端口上运行的单个tomcat实例时,上下文路径用于区分应用程序。这就是让我思考在单个端口中运行多个spring应用程序的可能性的原因。否则,我看不到具有更改contextPath的选项的价值。还考虑到我们将nginx或apache作为Web服务器的事实,而今年春季的应用程序将仅在防火墙内运行。

3 个答案:

答案 0 :(得分:4)

  1. 否,您一次只能在一个特定的端口上侦听一个应用程序。

  2. 更改上下文路径可能有助于将前缀全局添加到所有控制器端点。 例如,如果您的应用程序正在使用rest API,并且您希望所有url以/api开头,那么一个选择就是将该前缀添加到每个请求映射中(例如@RequestMapping("/api/user)),或更改上下文/api的路径,那么您现在可以将请求映射为@RequestMapping("/user)

答案 1 :(得分:0)

不是同一端口不能被多个进程/应用程序使用

答案 2 :(得分:0)

我们不能在同一端口上运行多个应用程序。