一、Undertow 介绍
Undertow is a flexible performant web server written in java, providing both blocking and non-blocking API’s based on NIO.
Undertow has a composition based architecture that allows you to build a web server by combining small single purpose handlers. The gives you the flexibility to choose between a full Java EE servlet 3.1 container, or a low level non-blocking handler, to anything in between.
Undertow is designed to be fully embeddable, with easy to use fluent builder APIs. Undertow’s lifecycle is completely controlled by the embedding application.
二、Why Undertow
1、Lightweight
Undertow is extremely lightweight, with the Undertow core jar coming in at under 1Mb. It is lightweight at runtime too, with a simple embedded server using less than 4Mb of heap space.
2、HTTP Upgrade Support
Support for HTTP upgrade, to allow multiple protocols to be multiplexed over the HTTP port.
3、Web Socket Support
Undertow provides full support for Web Sockets, including JSR-356 support.
4、Servlet 3.1
Undertow provides support for Servlet 3.1, including support for embedded servlet. It is also possible to mix both Servlets and native undertow non-blocking handlers in the same deployment.
5、Embeddable
Undertow can be embedded in an application or run standalone with just a few lines of code.
6、Flexible
An Undertow server is configured by chaining handlers together. It is possible to add as much or as little functionality as you need, so you don’t pay for what you are not using.
三、Show me the code
Ok then. Here is a simple Hello World server using Async IO:
public class HelloWorldServer {
public static void main(final String[] args) {
Undertow server = Undertow.builder()
.addHttpListener(8080, "localhost")
.setHandler(new HttpHandler() {
@Override
public void handleRequest(final HttpServerExchange exchange) throws Exception {
exchange.getResponseHeaders().put(Headers.CONTENT_TYPE, "text/plain");
exchange.getResponseSender().send("Hello World");
}
}).build();
server.start();
}
}
------------------------------------------------
Undertow 是红帽公司(RedHat)的开源产品,是 WildFly8(JBoos) 默认的 Web 服务器。
官网API给出一句话概述Undertow:
Undertow is a flexible performant web server written in java, providing both blocking and non-blocking API’s based on NIO.
译文: Undertow是一个用java编写的灵活的高性能Web服务器,提供基于NIO的阻塞和非阻塞API。
官网API总结特点:
1、Lightweight(轻量级)
Undertow非常轻量级,Undertow核心jar包在1Mb以下。 它在运行时也是轻量级的,有一个简单的嵌入式服务器使用少于4Mb的堆空间
2、HTTP Upgrade Support(支持http升级)
支持HTTP升级,允许多个协议通过HTTP端口进行多路复用
3、Web Socket Support(支持WebScoket)
Undertow提供对Web Socket的全面支持,包括JSR-356支持
4、Servlet 3.1
Undertow提供对Servlet 3.1的支持,包括对嵌入式servlet的支持。 还可以在同一部署中混合Servlet和本机Undertow非阻塞处理程序
5、Embeddable(可嵌入的)
Undertow可以嵌入在应用程序中或独立运行,只需几行代码
6. Flexible(灵活性)
Undertow框架jar包: undertow-core.jar undertow-servlet.jar
相关推荐
标签:core、undertow、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
标签:undertow、core、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
Undertow is a Java web server based on non-blocking IO. It consists of a few different parts: A core HTTP server that supports both blocking and non-blocking IO A Servlet 4.0 implementation A JSR-356...
标签:core、undertow、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...
Java开发案例-springboot-55-undertow替换默认tomcat容器-源代码+文档.rar Java开发案例-springboot-55-undertow替换默认tomcat容器-源代码+文档.rar Java开发案例-springboot-55-undertow替换默认tomcat容器-源代码...
标签:undertow、websockets、jsr、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,...
标签:undertow、websockets、jsr、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...
标签:undertow、servlet、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...
标签:undertow、servlet、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...
Undertow是一个高性能、轻量级的Java web服务器和Servlet容器,由Red Hat开发并维护。它是JBoss AS和WildFly应用服务器的核心组件之一。在2.2.18.Final版本中,Undertow提供了最新的功能更新和性能优化。 Undertow...
标签:undertow、core、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...
标签:undertow、jsr、websockets、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,...
"Undertow-parser-generator-1.0.0.Beta18.zip"这个压缩包就是这样一个开源项目,它包含了一个名为"JavalibCore"的库,主要用于构建与Robot框架集成的Java测试库。 首先,让我们了解一下Undertow。Undertow是Red ...
标签:undertow、jsr、websockets、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...
标签:undertow、servlet、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...
Undertow是一款轻量级、高性能的Java Web服务器和Servlet容器,由JBoss(现为Red Hat的一部分)开发并维护。这款服务器以事件驱动的方式构建,特别适合构建高并发、低延迟的Web应用。它提供了多种处理器,包括基于...
Undertow 是一个轻量级、高性能的Java Web服务器和Servlet容器,由JBoss(Red Hat)开发并维护。它提供了非阻塞I/O模型,使其在处理高并发请求时表现出色。这个压缩包可能包含了各种示例,帮助开发者理解和学习如何...
在Spring Boot项目中,将Tomcat替换为性能更优的Undertow服务器的方法涉及到一系列配置与依赖的修改。以下是详细的知识点阐述: ### 1. 依赖管理 在Spring Boot项目中使用Maven作为构建工具时,依赖管理是通过`pom...
Undertow是JBoss(现在是Red Hat)开发的一款高性能、轻量级的Java web服务器和Servlet容器。这个Beta30版本包含了Undertow的主要组件和功能,用于构建可扩展的web应用。 【描述】中提到的"gradle-android-cq-...
Undertow是一个基于非阻塞IO的Java Web服务器。它由几个不同的部分组成: