minicat

项目介绍

已实现http基础协议、参数接受、servlet、filter、cookie、多文件上传等。支持NIO。

一款轻量化Http服务器。支持bio、nio两种模式。归属Coody Framework下。传送门:https://gitee.com/coodyer/coody-icop

更新说明

2018-07-02:MiniCat正式立项。

2018-07-03:实现Http基本请求与响应。

2018-07-04:实现Session机制、Servlet、Gzip等

2018-07-05:实现formdata参数装载、Multipart参数与文件上传

2018-07-06:拓展Nio模式

2018-07-07:优化Http协议加载,修复某些情况下read阻塞。

2018-07-09:实现Filter机制。

截图说明

一个Servlet:

Multipart文件上传:

参数接受:

1、本项目未使用任意框架
2、本项目基于Socket实现Http服务器
3、本项目将在近期内持续更新

性能说明

基于MiniCat下测试Servlet打印hello world

NIO :i5 2320 8G DDR3 QPS峰值:2000 均值:1850

BIO :i5 2320 8G DDR3 QPS峰值:1800 均值:1720

NIO :E3 1230V2 8G DDR3 QPS峰值:2900 均值:2700

BIO :E3 1230V2 8G DDR3 QPS峰值:2800 均值:2650

TOMCAT:I5 2320 QPS峰值:1760 均值:1700

其中Tomcat未开启Nio和Apr(笔者懒得配了),喜欢折腾的小伙伴可以去试试

其余未测试======

本项目现实现功能:

1、Http服务端访问
2、Http(GET POST 多图文上传)参数装载
3、Gzip压缩
4、Cookie机制

本项目将实现功能:

1、服务器配置中心
2、程序启动入口
3、外置项目加载
4、内置整合加载
5、兼容javax规范
6、jstl模板引擎

运行说明:

1、新建Servlet。继承org.coody.framework.minicat.servlet.HttpServlet。实现doService方法

2、在新建的Servlet上写上@Servlet("/index.do")地址。其中/index.do即Mapping地址

3、在org.coody.web.init.Rute方法里面调用CoreApp.init(Class<>...clazz)方法上。初始化这个Servlet。

4、运行org.coody.web.init.Rute的main方法

5、访问http://127.0.0.1/index.do即可

相关配置:

配置类位于org.coody.framework.minicat.config.MiniCatConfig

参考网址见:https://gitee.com/coodyer/minicat

代码网址见:https://github.com/lipengsheng/MiniCat/tree/master

最新文章

  1. 博客整理——K米测评
  2. ITree诞生啦!
  3. LeetCode之100. Same Tree
  4. webservice 学习笔记
  5. s查找父节点
  6. [Design Patterns] 3. Software Pattern Overview
  7. ODBC错误处理
  8. echarts地图点定位的问题
  9. 李洪强iOS之Foundation框架—字符串
  10. WPF后台更换背景图-Background
  11. ZooKeeper笔记--集群安装配置 【转】
  12. Android 自定义PopupWindow动画效果
  13. Using SetWindowRgn
  14. mysql监控、性能调优及三范式理解
  15. hdu_5711_Ingress(TSP+贪心)
  16. Power BI 与 Azure Analysis Services 的数据关联:3、还原备份文件到Azure Analysis Services
  17. 简易计算器的java实现
  18. linux第十八章学习笔记
  19. 界面编程之QT的基本介绍与使用20180722
  20. 深入理解angularjs $watch ,$apply 和 $digest --- 理解数据绑定过程

热门文章

  1. day30 Pyhton 面向对象 反射
  2. 实现base64的编码解码,深刻理解base64
  3. jmeter_02_目录文档说明
  4. linux时间校准 设置时间为上海时区
  5. mac 搭建 Robot Framework
  6. Elasticsearch(5):添加文档
  7. 手撸了一个HTTP框架:支持Sprng MVC、IOC、AOP,拦截器,配置文件读取...
  8. 最新版Python 3.8.6 版本发布
  9. 今天 1024,为了不 996,Lombok 用起来以及避坑指南
  10. 由反转链表想到python链式交换变量