Jetty 和 Tomcat 有很多相似之处,比如说可以为 JSP 和 Servlet 提供运行时环境。Jetty 是 Java 语言编写的,它的 API 以一组 JAR 包的形式发布。
与 Tomcat 相比,Jetty 可以同时处理大量链接并且长时间的保持这些链接,例如,一些 Web 聊天应用非常适合用 Jetty 服务器,比如说淘宝的 Web 版旺旺。
Jetty 的架构比较简单,它有一个基本数据模型,这个数据模型就是 Handler,所有可以被扩展的组件都可以作为一个 Handler,添加到 Server 中,Jetty 就是帮我们管理这些 Handler 的。
05、UndertowUndertow 是一个用 Java 编写的、灵活的、高性能的 Web 服务器,提供基于 NIO 的阻塞和非阻塞 API。
Undertow 可以嵌入到应用程序中或独立运行,只需几行代码,非常容易上手。下面这段代码是官网提供的一个使用 Async IO 的简单 Hello World 服务器示例:
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();
}
}
直接运行后,在浏览器中地址栏中输入 :8080 就可以访问到了。是不是感觉非常轻巧?
如果有小伙伴使用过 JFinal 开发过小型网站的话,对 Undertow 应该不会陌生,因为 JFinal 的默认容器已经切换到了 Undertow。
JFinal 是基于 Java 语言的极速 WEB + ORM 框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。
06、企业级至于其他的一些企业级服务器软件,我个人没有用过,就不细说了。
JBoss,红帽子收购过,后更名为 WildFly。
WebLogic,甲骨文出品。
WebSphere,IBM 公司出品。
相信小伙伴们看了出品方,就知道这些服务器软件足够的重量级,都是大佬,都是大佬。
如果觉得文章对你有点帮助,请微信搜索「 沉默王二 」第一时间阅读。
本文已收录 GitHub,传送门~ ,里面更有大厂面试完整考点,欢迎 Star。
我是沉默王二,一枚有颜值却靠才华苟且的程序员。关注即可提升学习效率,别忘了三连啊,点赞、收藏、留言,我不挑,嘻嘻。