`
gaojingsong
  • 浏览: 1154717 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【JAVA之Undertow 介绍】

阅读更多

一、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

 

  • 大小: 99.1 KB
0
0
分享到:
评论

相关推荐

    undertow-core-2.2.14.Final-API文档-中文版.zip

    标签:core、undertow、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    undertow-core-2.1.7.Final-API文档-中文版.zip

    标签:undertow、core、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。

    Android代码-undertow

    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...

    undertow-core-2.2.14.Final-API文档-中英对照版.zip

    标签:core、undertow、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...

    undertow-websockets-jsr-2.1.7.Final-API文档-中英对照版.zip

    标签:undertow、websockets、jsr、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...

    undertow-servlet-2.1.7.Final-API文档-中文版.zip

    标签:undertow、servlet、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...

    undertow-servlet-2.2.14.Final-API文档-中文版.zip

    标签:undertow、servlet、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...

    undertow-websockets-jsr-2.1.7.Final-API文档-中文版.zip

    标签:undertow、websockets、jsr、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,...

    undertow-core-2.1.7.Final-API文档-中英对照版.zip

    标签:undertow、core、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...

    undertow-websockets-jsr-2.2.14.Final-API文档-中文版.zip

    标签:undertow、jsr、websockets、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,...

    undertow-websockets-jsr-2.2.14.Final-API文档-中英对照版.zip

    标签:undertow、jsr、websockets、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准...

    undertow-servlet-2.2.14.Final-API文档-中英对照版.zip

    标签:undertow、servlet、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...

    sprintboot项目undertow替换tomcat方法

    sprintboot项目undertow替换tomcat方法,详细介绍了springboot项目如何把tomcat服务替换成性能更优的undertow服务

    undertow,高性能无阻塞Web服务器.zip

    Undertow是一个基于非阻塞IO的Java Web服务器。它由几个不同的部分组成:

    undertow-servlet-2.1.7.Final-API文档-中英对照版.zip

    标签:undertow、servlet、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...

    undertow-jaxrs-test

    undertow-jaxrs-测试展示如何运行 JAX-RS 应用程序的小示例项目,该应用程序嵌入 Undertow 中,在main()方法中启动。入门只需构建项目: mvn clean install并启动服务器: java -jar target/server-test-1.0-...

    undertow-streaming:尝试从undertow流式传输

    Undertow 流媒体示例 这提供了来自HttpHandler和Servlet流,既来自请求... at io.undertow.channels.DetachableStreamSinkChannel.write(DetachableStreamSinkChannel.java:184) at io.undertow.server.HttpServerExc

    undertow-jar.zip

    undertow-core-2.1.7.Final.jar undertow-servlet-2.1.7.Final.jar undertow-websockets-jsr-2.1.7.Final.jar

    undertow-parser-generator-1.0.0.Beta18.zip

    JavalibCore.zip,为robot框架实现java测试库的基础用于实现与robot框架一起使用的java测试库的基础

    undertow-2016.11.0.zip

    parseq.zip,PARSEQ是一个框架,它使得编写和维护快速、可扩展的JavaActudio Java应用程序变得更容易。

Global site tag (gtag.js) - Google Analytics