仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1858|回复: 20
打印 上一主题 下一主题

[学习教程] JAVA网站制作之Smartupload和commons-fileupload先容与...

[复制链接]
透明 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:47:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 02:37

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表