`
NanguoCoffee
  • 浏览: 51207 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Http文件上传框架选择

阅读更多

候选项

 Jetty + Apache FileUpload

 JDK自带的HttpServer + 自行解析

 Simple

 Jetty + Jetty MultiPartFilter

备注:tomcat过于臃肿,不考虑。


测试情况

两台机器,一台使用httpclient模拟客户端上传文件,一台作为http服务器。

两台机器均为8核、8G内存。

耗时

32..6M的文件测试

框架|性能|并发数

1

20

100

200

Jetty + Apache FileUpload

5.5s

13.7s

111s

207s

JDK自带的HttpServer

5.8s

78s

390

--

Simple

5.2s

24s

130s

330s

Jetty+ Jetty MultiPartFilter

5.5s

26s

112s

203s

单线程情况下, 性能均差不多,在多线程情况下JDK自带的HttpServer和Simple调度能力不足。

Cpu占用率 

框架

200个并发时Cpu占用率

Jetty + Apache FileUpload

130%

JDKServer

350%

Simple

120%

Jetty+ Jetty MultiPartFilter

130%

 客户端:8核全负载,HttpClient太耗资源了。

服务器端:JDKServer比较耗资源,其他的都稳定在130%左右


功能拓展性:

拓展性主要考虑:

HttpServer接受到上传请求时的一些处理。比如:当请求到Server时,如果合法则获取输入流进行上传;如果不合法,则直接返回处理结果。

Simple : 文件全部上传到临时文件夹后才能进行业务处理。极度不符合

MultiPartFilter: 使用过滤器处理缺点有二:一是业务逻辑不集中,部分在于Servlet中,部分在于过滤器中;二是改写MultiPartFilter并进行封装的难度稍大。

JDK自带Server: 符合条件。但需要自己解析http输入流,并进行封装。难度较大。

Apache FileUpload:符合条件,对Http请求的封装很棒。

Apache FileUpload > JDKServer > MultiPartFilter> Simple

 

最终选择:Jetty + Apache FileUpload

0
0
分享到:
评论

相关推荐

    SSM框架实现多文件上传,框架可以直接开发项目

    综上所述,这个SSM框架实现的多文件上传项目提供了一个完整的开发模板,对于初学者来说,可以快速理解SSM框架的工作原理,并学习如何实现文件上传这一实用功能。同时,对于有一定经验的开发者,这个项目也是一个有...

    ssh框架单文件与多文件上传

    这个项目专注于在SSH框架下实现单文件和多文件上传的功能,非常适合初学者进行实践和学习。文件上传是Web应用中常见的功能,用于让用户提交图片、文档等数据到服务器。 **Spring框架**: Spring是整个SSH架构的核心...

    Android文件上传,文件选择器,多选

    在Android应用开发中,文件上传和文件选择器是常见的功能需求。用户可能需要从设备存储中选择一个或多个文件,例如图片、文档或音频文件,然后上传到服务器或进行其他操作。本文将深入探讨如何在Android平台上实现...

    struts框架写的文件上传下载系统

    1. **文件上传**:用户登录后,可以使用系统提供的上传功能选择本地的文件,Struts框架通过Servlet API中的Part接口处理文件流,将文件从客户端传输到服务器的指定目录。此过程需要对文件大小、类型进行限制,以防止...

    ssm框架下文件上传

    这个框架在处理文件上传功能时,提供了高效且灵活的解决方案。本篇文章将详细探讨在SSM框架下如何实现文件上传,并结合运行环境要求——Tomcat 7及以上版本,讲解相关技术要点。 首先,我们需要了解SpringMVC中的...

    SSH框架整合,包括发送邮件,excel文件的及文件上传下载等

    SSH框架整合是一个常见的Java Web开发技术栈,由Spring、Struts2和...通过深入学习和实践这个项目,开发者不仅可以掌握SSH框架的整合技巧,还能了解到邮件服务、Excel处理以及文件上传下载等实用功能的实现方式。

    ssm框架--spring mvc实现文件上传

    在"ssm框架--spring mvc实现文件上传"这个项目中,我们将重点探讨如何在Spring MVC中实现实现文件上传的功能。 文件上传是Web应用中的常见需求,Spring MVC提供了便捷的API来处理这一任务。首先,你需要在表单中...

    Struts框架文件上传下载案例

    在这个“Struts框架文件上传下载案例”中,我们将探讨如何在Struts2框架下实现文件的上传和下载功能,这对于Web应用来说是非常常见的需求。 文件上传功能是Web应用中允许用户从本地计算机选择文件并将其传输到...

    asp.net mvc+Bootstrap Fileinput框架实现的文件上传

    以上是关于"asp.net mvc+Bootstrap Fileinput框架实现的文件上传"的相关知识点,这个示例提供了在ASP.NET MVC环境中集成Bootstrap Fileinput进行文件上传的完整流程,对于开发者来说具有很好的参考价值。通过学习和...

    关于文件上传框架的包

    这里我们主要讨论的是两个用于文件上传的框架:Common-FileUpload和COS。 1. **Common-FileUpload**: 这是Apache Jakarta的一个子项目,提供了Java Web应用程序处理文件上传的功能。它弥补了Servlet API在处理多...

    go gin web框架文件上传,可以使用curl进行上传文件

    文件上传是Web应用中常见的功能之一,Gin框架提供了方便的方法来处理文件上传。本篇文章将深入探讨如何在Gin中实现文件上传,并结合curl命令演示上传过程。 首先,我们需要在Gin路由中定义一个处理文件上传的处理器...

    mfc框架下实现http或者https上传文件,包括文件选择,服务器地址配置的界面

    在本文中,我们将深入探讨如何在MFC(Microsoft Foundation Class)框架下实现HTTP或HTTPS上传文件,包括文件选择和服务器地址配置的用户界面。MFC是微软提供的一个C++类库,用于构建Windows应用程序,它封装了...

    ssh框架实现多文件上传

    SpringMVC是Spring框架的一部分,提供了一种优雅的方式来处理HTTP请求,包括文件上传。 在SpringMVC中实现多文件上传,首先我们需要配置`DispatcherServlet`,这是SpringMVC的核心组件,它负责接收HTTP请求并转发到...

    巧用 Jersey RESTful WebService框架解决文件上传乱码

    本文将深入探讨如何巧妙利用Jersey框架解决文件上传时可能出现的乱码问题,同时也会涉及Maven的使用,以构建Web应用。 首先,了解RESTful WebService的基本概念。REST(Representational State Transfer)是一种...

    C#通过winform和http上传文件

    以下是实现C# WinForm和HTTP文件上传的步骤: 1. 创建WinForm界面: - 使用Visual Studio新建一个WinForm项目。 - 在设计视图中添加一个OpenFileDialog控件,用于让用户选择文件。 - 添加一个Button控件,作为...

    http协议文件上传

    `Commons FileUpload`提供了一套完整的API,可以方便地处理文件上传,而`MultipartFile`则是Spring框架对文件上传的抽象,使得处理文件更简单易懂。 在数据访问层,可能需要将文件的一些元数据(如文件名、大小、...

    JavaWeb项目SSH框架的文件上传下载

    综上所述,实现基于SSH框架的文件上传下载及图片显示涉及多个层面的技术,包括SSH框架的整合、文件存储策略、前端交互以及安全性和性能优化。掌握这些知识点,可以让你在JavaWeb开发中更加游刃有余。

    okgo网络框架,以及图片文件上传

    OkGo 支持 GET、POST、PUT、DELETE 等多种 HTTP 请求方法,并且支持同步、异步请求,同时提供了文件上传和下载的功能。对于文件下载,OkGo 可以实现断点续传和后台下载。而在文件上传方面,它支持多文件上传,可以...

    用Struts框架实现多文件上传功能(初学者的入门项目案例)

    在本项目中,我们将学习如何利用Struts框架实现多文件上传的功能,这对于初学者来说是一个很好的实践项目,能够帮助理解和掌握Struts的核心概念。 首先,了解文件上传的基本原理。在Web应用中,文件上传通常涉及到...

    ssh框架上传文件测试

    在SSH框架中,文件上传功能是常见的需求,特别是在处理用户提交的表单数据时,例如图片、文档或者其他多媒体文件的上传。这个“ssh框架上传文件测试”可能是针对这一功能的一个实践项目或测试案例。 首先,让我们...

Global site tag (gtag.js) - Google Analytics