使用 Spring Boot 内嵌容器 Undertow创建服务器的方法
Undertow是一个Web服务器,那么它就需要具备的现代Web服务器的基本特性,比如Servlet,JSP,文件服务器,代理服务器,安全认证等。undertow目前已经实现了绝大多数功能,并且因为wildfly通过了JavaEE7 TCK认证,所以可以说Undertow是一个通过Servlet 3.1认证的Web服务器和容器。这篇文章只分析Undertow的主干流程上的主要功能,即undertow-core和undertow-servlet。
1、简介
Undertow是一个非常轻量并高性能的web server,它来自 JBoss。支持blocking和non-blocking两种NIO API。
由于它是用Java写的,所以它可以被那些JVM-based 的应用通过内嵌的方式来使用。甚至JBoss的WilfFly服务器在内部使用Undertow来提高服务器的性能。
在本文中,我们将介绍Undertow的主要功能并给出使用代码。
2. 为什么要选择Undertow?
轻量级 :Undertow 是非常小的,只有不到1MB。在内嵌模式下,运行时只占heap空间的4MB左右。
Servlet 3.1:完美支持 Servlet 3.1
Web Socket :支持 Web Socket (包括JSR-356)
长连接 :默认情况下 ,Undertow 通过添加keep-alive 的response header来支持长连接。它通过重用连接信息(connection details)来改善长连接的性能。
3. 使用Undertow
不多说,让我们使用Un