【问题标题】:How tomcat or any server pass the request to the spring boot?tomcat或任何服务器如何将请求传递给spring boot?
【发布时间】:2021-01-24 16:48:02
【问题描述】:

我总是被告知 Spring Boot 如何处理即将到来的请求,但我真的很想知道 Spring Boot 如何获取请求,服务器如何将其传递给 Spring Boot 应用程序。

【问题讨论】:

    标签: spring-boot tomcat server


    【解决方案1】:

    这需要有一个书那么大的答案,以涵盖所有细节。

    很快:

    Tomcat 是一个 Servlet 引擎,又名 Servlet 容器,又名 Web 容器/服务器,它知道,在部署描述符(在 web.xml 中定义或通过注释定义)的帮助下,如何将特定的 URL/URI 映射到特定的 Servlet 实例。

    Spring 或任何基于 Java 的 Web 框架/技术在底层使用 Servlet。

    Spring 如何在此基础上构建,是另一本书。请尝试自己研究。

    【讨论】:

    • 这张图片出自哪本书?我试图找到有关该主题的一些内部信息,但它相当复杂
    【解决方案2】:

    SpringBoot 嵌入了 Apache Tomcat,它在应用程序注册一个或多个 Spring Controller 时启动。 Apache 侦听可以自定义的给定端口(默认 8080),也可以启用 HTTPS,并将传入请求路由到控制器(根据路径配置)。

    控制器执行必要的逻辑(业务规则、数据库访问等)并提供响应(例如用于服务的 JSON 或使用类似于 HTML 文件的视图)。

    您可以自定义 Tomcat 版本或决定使用嵌入式 Jetty。在生产环境中,通常会部署一个专用的 HTTP 服务器(Apache、NGINX),从安全的角度来看,它更加健壮并且(通常)得到了强化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-26
      • 2019-11-13
      • 2016-06-29
      • 1970-01-01
      • 1970-01-01
      • 2019-11-05
      • 2020-09-27
      • 2020-08-09
      相关资源
      最近更新 更多