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. 把dataframe 一列转成 array

    把dataframe 一列转成 array

  2. manim边学边做--角度标记

    manim中绘制一个角度其实就是绘制两条直线,本篇介绍的不是绘制角度,而是绘制角度标记. 对于锐角和钝角,角度标记是一个弧,弧的度数与角的度数一样: 对于直角,角度标记是一个垂直的拐角. manim中 ...

  3. Redis常见问题和性能监控

    1 Redis常见面试问题 1.1 Redis是单线程还是多线程 Redis不同版本之间采用的线程模型是不一样的,在Redis4.0版本之前使用的是单线程模型,在4.0版本之后增加了多线程的支持. 在 ...

  4. ZEGO 教程 | RTC + AI 视觉的最佳实践(移动端)

    ​  ​摘要:帮助开发者在音视频场景中快速获得 AI 视觉功能 -- 美颜.滤镜.背景抠图等. 文|即构 Native SDK 开发团队 Z世代作为社会新的消费主力,追求个性.热爱新奇事物,青睐与酷炫 ...

  5. JavaScript – Proxy

    参考 阮一峰 – Proxy 介绍和使用 Proxy 的作用是代理对象, 消费者不直接使用对象, 而是使用代理对象. 一般上做代理的目的就是想拦截对象访问做一些别的事情. 比如当对象改变以后, 同步 ...

  6. 伯克利函数调用排行榜(BFCL)

    自 2022 年底以来,大语言模型(LLMs)凭借其执行通用任务的强大能力,成为众人关注的焦点.不仅限于聊天应用,将这些模型应用于开发各类 AI 应用和软件(如 Langchain, Llama In ...

  7. [OI] 整体二分

    整体二分可以理解成普通二分改版,其实并没有改多少,并且一般对 check() 函数的复杂度要求更宽松 先来看一道经典题目:求区间排名 给一个数列,若干组询问 \((l,r,k)\),求 \([l,r] ...

  8. 【赵渝强老师】Kafka的消息持久化

    1.Kafka消息持久性概述 Kakfa依赖文件系统来存储和缓存消息.对于硬盘的传统观念是硬盘总是很慢,基于文件系统的架构能否提供优异的性能?实际上硬盘的快慢完全取决于使用方式.同时 Kafka 基于 ...

  9. USB总线-Linux内核USB设备驱动之UAC2驱动分析(十)

    1.概述 UVC(USB Audio Class)定义了使用USB协议播放或采集音频数据的设备应当遵循的规范.目前,UAC协议有UAC1.0和UAC2.0. UAC2.0协议相比UAC1.0协议,提供 ...

  10. ssr屏幕空间射线追踪

    本轮作业中,我们需要在一个光源为方向光,材质为漫反射 (Diffuse) 的场景 中,完成屏幕空间下的全局光照效果(两次反射). 为了在作业框架中实现上述效果,基于我们需要的信息不同我们会分三阶段 着 ...