MiniTomcat(https://github.com/daichangya/MiniTomcat)

这个项目是一个基于Netty的Java Web服务器,它提供了从简单HTTP服务器到集成Spring Boot等多个版本的演进。以下是对该项目的详细概述:

  1. 项目名称与简介

    • 项目名称:MiniTomcat
    • 简介:一个基于Netty的Java Web服务器,随着版本的迭代,逐步增加了更多功能,如静态文件下载、controller支持、servlet支持以及最终集成Spring Boot等。
  2. 技术栈
    • 主要技术:Netty, Spring Boot, Spring Web
    • Netty:一个高性能、异步事件驱动的NIO框架,用于快速开发可维护的高性能协议服务器和客户端。
    • Spring Boot:简化了基于Spring的应用开发,通过自动配置和启动类让开发者快速搭建Spring应用。
    • Spring Web:Spring框架的Web模块,提供了全面的Web开发支持。
  3. 功能与特性
    • 支持静态文件下载。
    • 添加了controller和servlet支持,便于开发Web应用。
    • 集成Spring Boot,使得项目可以更容易地部署和运行。
    • 提供了异步处理逻辑和HTTP流事件分块传输的支持,提高了应用的性能和响应能力。
  4. 社区与文档
    • 项目托管在GitHub上,便于开发者协作和贡献。
    • 提供了README文件,简要介绍了项目的使用方法和版本历史。
    • 扫码关注微信公众号“Java码界探秘”可能获取更多关于项目和相关技术的信息。
  5. 许可证
    • 项目采用Apache-2.0许可证,这是一个开源软件许可证,允许用户自由地使用、修改、分发和再许可软件,但需要遵守一定的条件和限制。
  6. 未来展望
    • 随着技术的不断发展和社区的不断贡献,panda项目可能会继续增加新的功能和优化现有功能,以满足更多开发者的需求。
外部客户端 --(HTTP请求)--> Netty网络层
|
V
Spring Boot应用层
/ \
Controller/ Session管理
Servlet (包括异步处理)
\ /
业务逻辑处理
|
V

panda 一个 基于Netty的Java Web服务器

0.1

  • http协议

1.0

  • 一个简单的Http Server

2.0

  • 通讯模型改为netty
  • 支持静态文件下载

3.0

  • 添加controller支持

4.0

  • 添加servlet支持
  • 对接spring web

5.0

  • 集成spring boot,替换内嵌tomcat
  • Netty spring boot Spring Web

6.0.0

  • 新建模块 spring-boot-starter-netty

6.0.1

  • 添加 channelHandle 线程池

6.0.2

  • add session处理逻辑

6.0.3

  • add 异步处理逻辑

6.0.4

  • add http stream event chunked

扫码关注微信公众号,Java码界探秘。

https://zthinker.com/

作者:代老师的编程课

出处:https://zthinker.com/

如果你喜欢本文,请长按二维码,关注 Java码界探秘

.

Netty+Spring Boot 加持,解锁高性能 Web 应用的更多相关文章

  1. SpringBoot实战(十)之使用Spring Boot Actuator构建RESTful Web服务

    一.导入依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http ...

  2. [原创]Spring boot 框架构建jsp web应用

    说明 Spring boot支持将web项目打包成一个可执行的jar包,内嵌tomcat服务器,独立部署 为支持jsp,则必须将项目打包为war包 pom.xml中设置打包方式 <packagi ...

  3. Spring Boot Security And JSON Web Token

    Spring Boot Security And JSON Web Token 说明 流程说明 何时生成和使用jwt,其实我们主要是token更有意义并携带一些信息 https://github.co ...

  4. Spring Boot 之FilterRegistrationBean --支持web Filter 排序的使用(转)

    Spring Boot 之FilterRegistrationBean  --支持web Filter 排序的使用Spring 提供了FilterRegistrationBean类,此类提供setOr ...

  5. Spring Boot 2.X 对 web 的开发支持(二)

    Spring Boot 2.X 对 web 的支持开发 上章节的 Spring Boot 的入门案例,我们感受到 Spring Boot 简单的配置即可运行项目. 今天了解 Spring Boot 对 ...

  6. 使用Spring Boot来加速Java web项目的开发

    我想,现在企业级的Java web项目应该或多或少都会使用到Spring框架的. 回首我们以前使用Spring框架的时候,我们需要首先在(如果你使用Maven的话)pom文件中增加对相关的的依赖(使用 ...

  7. Spring Boot入门教程1、使用Spring Boot构建第一个Web应用程序

    一.前言 什么是Spring Boot?Spring Boot就是一个让你使用Spring构建应用时减少配置的一个框架.约定优于配置,一定程度上提高了开发效率.https://zhuanlan.zhi ...

  8. Spring Boot入门-快速搭建web项目

    Spring Boot 概述: Spring Boot makes it easy to create stand-alone, production-grade Spring based Appli ...

  9. Spring Boot笔记五: Web开发之Webjar和静态资源映射规则

    目录 Webjar /** 访问当前项目的任何资源 欢迎页 标签页图标 Webjar 开始讲到Spring Boot的Web开发了,先介绍Webjar,这个其实就是把一些前端资源以jar包的形式导入到 ...

  10. 使用Spring Boot开发 “Hello World” Web应用

    环境准备 由于现在很多IDE都支持Maven, 所以我们将使用Maven构建该工程: 开始之前,需要先安装Java和Maven: 本工程将基于Spring Boot 1.4.3.RELEASE开发,推 ...

随机推荐

  1. 【FFmpeg】之Mac系统爬取所有M3U8视频下载方法

    前言 由于有的网站不允许下载视频,到了有效期就不能看了,但是我想以后反复看,怎么办呢? 前提准备 操作系统:Mac 浏览器:谷歌浏览器 抓取m3u8工具:猫爪 视频处理工具:ffmpeg 需要安装工具 ...

  2. 【Mac + Python + Selenium】之获取验证码图片code并进行登录

    自己新总结了一篇文章,对代码进行了优化,另外附加了静态图片提取文字方法,两篇文章可以结合着看:<[Python]Selenium自动化测试之动态识别验证码图片方法(附静态图片文字获取)> ...

  3. 一文剖析TCP三次握手、四次挥手

    TCP三次握手四次挥手 问题 TCP建立连接为什么是三次握手,而不是两次或四次? TCP,名为传输控制协议,是一种可靠的传输层协议,IP协议号为6. 顺便说一句,原则上任何数据传输都无法确保绝对可靠, ...

  4. react 中获取子组件

    wrappedComponentRef={(form) => this.table = form}

  5. Angular Material 18+ 高级教程 – 大杂烩

    前言 本篇记入一些 Angular Material 的小东西. Override Material Icon Button Size 参考:Stack Overflow – Change size ...

  6. MDC – Checkbox

    前言 Checkbox 不是搭配 TextField 使用, 而是搭配 FormField. 所以独立一篇来写. 参考 Docs – Selection controls: checkboxes 效果 ...

  7. DOM – Work with Document.styleSheets and JS/Scss Breakpoint Media Query

    前言 为了方便管理, 我们会定义 CSS Variables, 类似于全局变量. 有时候做特效的时候还需要 JavaScript 配合, 这时就会希望 JavaScript 可以获取到 CSC Var ...

  8. 【赵渝强老师】SQL的字符函数

    字符函数,顾名思义,操作的就是字符串.通过下图,我们来了解一下Oracle的字符函数. 一.大小写控制函数 lower.upper.initcap select lower('Hello World' ...

  9. springboot起步依赖

    <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot ...

  10. duxui:基于Taro,兼容React Native、小程序、H5的多端UI库

    duxui是duxapp官方开发的一款兼容多端的UI组件库,兼容小程序.H5.React Native,库中提供了60+的组件,覆盖大部分使用场景 它能帮助你通过统一的组件样式,快速完成多端应用的开发 ...