Servlet 在 eclipse 中工作,但在 Apache Tomcat 中不工作。无法推断基地 url.....API 在 API 网关后面

Servlet works in eclipse, but not in Apache Tomcat. Unable to infer base url....API is behind API Gateway

请提前帮助并感谢您。在过去的 3 天里,我一直在 Whosebug 和其他地方研究这个问题。我的 Web 应用程序需要 2 urls。它在 eclipse 中工作,但在部署到 apache-tomcat (8.5.16) 时不起作用。 SpringBoot 版本 2.0.9,Spring 版本 5.0.13。 Web 服务方法不起作用,swagger 不断弹出消息:“无法推断基数 url。这在使用动态 servlet 注册或 API 位于 [=17= 后面时很常见] 网关”。这是一个没有 servlet 注册的工作应用程序,如下所示。

    public class MyWsApplication extends SpringBootServletInitializer {
        // other configurations here
        // servlet registration below
        @Bean
        public DispatcherServlet dispatcherServlet() {
            return new DispatcherServlet();
        }
        @Bean
        public ServletRegistrationBean<DispatcherServlet> servletRegistration() {
            String url1 = "/web-services-url1/*";
            String url2 = "/services_url2/*";
            ServletRegistrationBean<DispatcherServlet> registration = new ServletRegistrationBean<>(dispatcherServlet(),
                    url1, url2);
            Map<String, String> params = new HashMap<>(); 

            params.put("contextClass", "org.springframework.web.context.support.AnnotationConfigWebApplicationContext");
            registration.setInitParameters(params);
            return registration;
        }
    }

感谢所有阅读我的问题的人。我通过在 tomcat 中定义 2 个应用程序上下文解决了这个问题。添加 url 不需要所有这些 java 代码。解决方案: http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Naming