【问题标题】:How Spring boot internally handles the http request here?Spring boot如何在内部处理这里的http请求?
【发布时间】:2018-09-10 08:25:14
【问题描述】:

我看到here spring boot 将微服务工件打包为 jar 文件。它通过模块spring-boot-starter-web 处理http web 请求。 我的理解是 spring boot 内部做的是

  1. 建立网络服务器
  2. 创建war文件,然后在服务器上托管war文件。
  3. 然后通过 spring-boot-starter-web 下的 servlet 处理 http 请求

我的理解正确吗?

【问题讨论】:

  • 当jar被执行时,它会在内部启动tomcat服务器,然后你的应用程序打包为war并运行。
  • 不,它不是...它不会打包或制造战争。它指示嵌入式服务器资源在哪里,它不会创建内部战争文件。
  • @M.Deinum 知道了,但是 http 请求仍然由 servlet 处理,就像给定的例子一样。对吧?
  • 它仍然使用 servlet,过滤器不会改变。

标签: java spring-boot


【解决方案1】:

你的理解几乎是正确的:

  • 启动嵌入式 tomcat 服务器
  • 指示 tomcat 服务器如何操作
  • HTTP 请求由底层DispatcherServlet 处理

【讨论】:

  • 关于这个 servlet 层的任何文档?在我的公司,我们使用它来处理大量请求(大数据),我正在尝试了解他的有效能力
  • 哎呀,我没有正确放置链接,我已经更新了它。在那里你可以找到文档
【解决方案2】:

spring boot的入口点是main方法,在main方法里面我们调用的是SpringApplication.run(,arguments); 当我们调用 main 方法时,SpringApplication 类在内部启动嵌入式服务器,在服务器中配置和部署应用程序...... 这里 dispatcher servlet 在 servlet 上下文中注册 OnCondtion 检查,如果我们添加了 spring-boot-starter-web 然后它检查条件 dispatcher-servlet 在类路径中是否可用,如果可用,那么它将在 servlet 中注册 dispatcher-servlet上下文

【讨论】:

    猜你喜欢
    • 2016-01-24
    • 1970-01-01
    • 1970-01-01
    • 2019-02-28
    • 1970-01-01
    • 2021-08-08
    • 2021-11-22
    • 2019-06-23
    • 1970-01-01
    相关资源
    最近更新 更多