仓酷云

标题: JAVA网站制作之Smartupload和commons-fileupload先容与... [打印本页]

作者: 透明    时间: 2015-1-18 11:47
标题: JAVA网站制作之Smartupload和commons-fileupload先容与...
在性能方面,在windows平台下,.net可能是占强项,要是把.net放在sun开发的操作系统上去运行呢?根本就运行不了,.net对其它操作系统的支持也很弱,性能也可能比不上java。对照
WEB文件上传多是网站建立中最经常使用的功效之一,我在项目开辟中几近都必要完成文件上传功效.前段工夫本人汇集了一些上传组件.这篇文章中将先容这些组件的利用办法,而且对照各自的好坏.

一,smartupload组件.

我想只需做个文件上传的伴侣都晓得这个组件,我熟悉的人中利用最多的也是它!我刚到公司的时分,公司也利用的smartupload,这个组件上传绝对较小的文件时是个不错的选择.上面给出个利用的例子:

  <%@pagecontentType="text/html;charset=gb2312"%><%@pageimport="java.sql.*"%><%@pageimport="com.jspsmart.upload.*"%>

<%//实例化上载beanSmartUploadmySmartUpload=newSmartUpload();//初始化mySmartUpload.initialize(pageContext);//设置上载的最年夜值,注重:假如这里设置过年夜会呈现成绩!mySmartUpload.setMaxFileSize(500*1024*1024);//上载文件mySmartUpload.upload();//轮回获得一切上载的文件for(inti=0;i<mySmartUpload.getFiles().getCount();i++){//获得上载的文件com.jspsmart.upload.FilemyFile=mySmartUpload.getFiles().getFile(i);if(!myFile.isMissing()){//获得上载的文件的文件名StringmyFileName=myFile.getFileName();//获得不带后缀的文件名Stringsuffix=myFileName.substring(0,myFileName.lastIndexOf(.));//获得后缀名Stringext=mySmartUpload.getFiles().getFile(0).getFileExt();//获得文件的巨细intfileSize=myFile.getSize();//保留路径Stringaa=getServletContext().getRealPath("/")+"jsp";Stringtrace=aa+myFileName;//获得其余参数Stringexplain=(String)mySmartUpload.getRequest().getParameter("text");Stringsend=(String)mySmartUpload.getRequest().getParameter("send");//将文件保留在服务器端myFile.saveAs(trace,mySmartUpload.SAVE_PHYSICAL);%>

可是利用smartupload上传过年夜文件,大概多文件的时分大概呈现CPU或内存占用太高的成绩.而且:只要从头启动容器才干恢复一般!这恰是我最初我保持了利用smartupload的缘故原由.

二,commons-fileupload组件

这个组件是我如今利用的组件,下载地点:http://jakarta.apache.org/site/downloads/downloads_commons-fileupload.cgi,包内包括了API文档.

利用该组件的例子:

<%@pagelanguage=“java”contentType=“text/html;charset=GBK”%><%@pageimport=“java.util.*”%><%@pageimport=“org.apache.commons.fileupload.*”%><html><head><title>文件上传</title></head><%DiskFileUploadfu=newDiskFileUpload();//设置同意用户上传文件巨细,单元:字节fu.setSizeMax(10000000);//设置最多只同意在内存中存储的数据,单元:字节fu.setSizeThreshold(4096);//设置一旦文件巨细凌驾getSizeThreshold()的值时数据寄存在硬盘的目次fu.setRepositoryPath(“D:Tomcat5TEMP”);//入手下手读取上传信息ListfileItems=fu.parseRequest(request);//顺次处置每一个上传的文件Iteratoriter=fileItems.iterator();while(iter.hasNext()){FileItemitem=(FileItem)iter.next();//疏忽其他不是文件域的一切表单信息if(!item.isFormField()){Stringname=item.getName();item.write(“D:UploadTest”+name);}}%>

从下面的程序能够看出,该组件上传时分能够用了一个中央来存储一时文件,呆上传完成后间接把文件写已往.如许就不会占用过量的内存!并且该组件上传年夜文件的时分效力也不低哦!

在这两个的对照选择中,我选择了后者,由于我做的项目中常常上传年夜于10M的文件,用前者的时分服务器几近被整溃散.

不外,如今我已不必这两种组件了,由于http体例传文件效力一直很低,我们如今利用的是web体例完成的ftp文件上传,我将鄙人篇文章中写我在项目中是怎样完成的.

其实你不用Struts,spring这些工具,直接用jsp,servlet能够很方便地写出来,而且,可以根据个人的水平、爱好,有很多方案。而struts,spring这些工具的出来。
作者: 深爱那片海    时间: 2015-1-19 09:30
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
作者: 海妖    时间: 2015-1-24 17:44
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
作者: 小妖女    时间: 2015-1-28 17:07
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
作者: 乐观    时间: 2015-2-5 15:10
是一种为 Internet发展的计算机语言
作者: 飘灵儿    时间: 2015-2-12 10:07
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
作者: 再现理想    时间: 2015-2-23 02:44
如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。
作者: admin    时间: 2015-3-5 14:39
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
作者: 莫相离    时间: 2015-3-12 07:57
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
作者: 变相怪杰    时间: 2015-3-13 10:07
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
作者: 仓酷云    时间: 2015-3-19 04:47
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
作者: 柔情似水    时间: 2015-3-19 09:10
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
作者: 冷月葬花魂    时间: 2015-3-24 18:45
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
作者: 愤怒的大鸟    时间: 2015-3-24 23:28
我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。
作者: 小女巫    时间: 2015-4-1 18:09
Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站
作者: 简单生活    时间: 2015-4-1 21:11
有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)
作者: 若天明    时间: 2015-4-14 07:10
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
作者: 飘飘悠悠    时间: 2015-5-3 23:38
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
作者: 只想知道    时间: 2015-5-4 02:49
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
作者: 灵魂腐蚀    时间: 2015-5-5 19:00
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
作者: 谁可相欹    时间: 2015-5-8 06:46
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2