# MiniCat
**Repository Path**: cyj_html/minicat
## Basic Information
- **Project Name**: MiniCat
- **Description**: 手写Http服务器,已实现http基础协议、参数接受、servlet、filter、cookie、多文件上传等。支持NIO。
- **Primary Language**: Java
- **License**: GPL-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 382
- **Created**: 2020-04-17
- **Last Updated**: 2020-12-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# minicat
#### 项目介绍
一款轻量化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

#### 版权说明:
作者:Coody
版权:©2014-2020 Test404 All right reserved. 版权所有
反馈邮箱:644556636@qq.com