专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

SpringBoot-Web容器

传统 Servlet 容器

Eclipse
Jetty

什么是Jetty?

简单来讲Jetty就是一个开源的HTTP服务器和Servlet引擎,它可以为JSP和Servlet提供运行时环境,比如Java Web应用最常用的Servlet容器Tomcat,由于其轻量、灵活的特性,Jetty也被应用于一些知名产品中,例如ActiveMQ、Maven、Spark、GoogleAppEngine、Eclipse、Hadoop等。

为什么使用Jetty?

①异步的 Servlet,支持更高的并发量

②模块化的设计,更灵活,更容易定制,也意味着更高的资源利用率

③在面对大量长连接的业务场景下,Jetty 默认采用的 NIO 模型是更好的选择

④将jetty嵌入到应用中,使一个普通应用可以快速支持 http 服务

The Jetty Web Server provides an HTTP server and Servlet container capable of serving static and dynamic content either from a standalone or embedded instantiations. 
From jetty-7 on, the jetty web-server and other core components are hosted by the Eclipse Foundation. The project provides:

  1、Asynchronous HTTP Server
  2、Standards based Servlet Container
  3、websocket server
  4、http/2 server
  5、Asynchronous Client (http/1.1, http/2, websocket)
  6、OSGI, JNDI, JMX, JASPI, AJP support

Apache Tomcat

Tomcat是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照Sun Microsystems提供的技术规范,实现了对Servlet和JavaServer Page(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。由于Tomcat本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器。
Server是Tomcat的最顶层元素,是service的集合,即可包含多个service,Server控制整个Tomcat的生命周期。Service由一个Container和多个Connector组成(或者说由Connector,Engine和线程池[可选]组成),形成一个独立完整的处理单元,对外提供服务。

标准实现:

Servlet
JSP
Expression Language
WebSocket

Jetty与Tomcat的对比:

①Jetty 比较容易贴合第三方框架,比如你可以直接用 Spring 配置一个 Jetty 服务器
②直接可以将 Jetty 作为提供 HTTP 服务的组件,嵌入到应用中
③Jetty 是面向 Handler 的架构,而 Tomcat 是面向容器的架构
④Jetty 默认采用 NIO 技术,而 Tomcat 默认是 BIO
⑤Jetty 高度模块化,可以很灵活的管理拓展组件,而 Tomcat 对其他组件的管理则相对困难

Apache Tomcat

核心组件(Components)

Engine
Host
Context

静态资源处理

org.apache.catalina.servlets.DefaultServlet

欢迎页面(Welcome file list)

JSP处理

org.apache.jasper.servlet.JspServlet

类加载(Classloading)

Bootstrap ClassLoader
System ClassLoader
Common ClassLoader
Webapp ClassLoader

连接器(Connectors)

端口(port)
协议(protocol)
线程池(Thread Pool)
超时时间(Timeout)

JDBC 数据源(DataSource)

JNDI(Java Naming and Directory Interface)

基本类型
资源(Resource)
环境(Environment)
配置方式
context.xml 配置
web.xml 配置

Servlet 容器

Embedded Jetty
Embedded Tomcat

非 Servlet 容器

Undertow

Embedded Tomcat

静态资源处理
欢迎页面(Welcome file list)
JSP处理
类加载(Classloading)
连接器(Connectors

Embedded Tomcat

org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer

文章永久链接:https://tech.souyunku.com/44668

未经允许不得转载:搜云库技术团队 » SpringBoot-Web容器

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们