手写文件上传服务器,MiniCat: 手写Http服务器,已实现http基础协议、参数接受、servlet、filter、cookie、多文件上传等。支持NIO。...

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:

40c3b1e1ec770db58ff0869b5132a73a.png

Multipart文件上传:

c33a44c012cff8640aa18dcb20181a3b.png

参数接受:

75e0d23e1908f5c47b6a77d0922a4c1a.png

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方法

c42b24e037dd718910731a741026cfe5.png

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

c0a05e2a9771b7115b3163808ac721f3.png

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

f9518e76f360d6dd76b6723f1d7b5b1c.png

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

b313ad4a007f221ccbd3d1e7beb69c65.png

相关配置:

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

e2f55e71ec2081bcd6032c81262cd21e.png

版权说明:

作者:Coody

版权:©2014-2020 Test404 All right reserved. 版权所有

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值