仓酷云

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

[学习教程] JAVA教程之经由千般勉力,终究用JSP写出FileUpload...

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

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

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

x
java比较简单,没有C++的烦琐,但学习时最好有C++为基础.与JSP和SQL起应用,功能强大.js|程序|上传经由千般勉力,终究能够写出一个本人的上传小程序了,个中以下面的url为尺度写的,不外这个程序和新版本的commons-fileupload-1.0,存在纷歧样的中央,就是:

新的是:

voidwrite(java.io.Filefile)
Aconveniencemethodtowriteanuploadeditemtodisk.

而这里的是String!!!

多亏我另有一点java基本,,经由过程查找api

ConstructorSummary

File(Fileparent,Stringchild)
CreatesanewFileinstancefromaparentabstractpathnameandachildpathnamestring.


File(Stringpathname)
CreatesanewFileinstancebyconvertingthegivenpathnamestringintoanabstractpathname.


File(Stringparent,Stringchild)
CreatesanewFileinstancefromaparentpathnamestringandachildpathnamestring.


File(URIuri)
CreatesanewFileinstancebyconvertingthegivenfile:URIintoanabstractpathname.







我修正了这句为两句:


FilewriteFile=newFile("F:public",name);

fi.write(writeFile);



如许这个上传程序终究能够事情了!(一会有源代码,上传一个文件的)


另有这里的""都是""(输出法成绩),假如粘贴过去要一个个修正,不晓得怎样回事变,网上的代码老是有一点让人难以揣摩的毛病而不克不及运转!以是网上的工具只能参考了解以后再本人写!





别的历程:


1.upload
B真个上传

1)upload目次:

<formaction="getUpload.jsp"enctype="multipart/form-data"method="POST">
这里oc4j的目次和tomcat的目次但是服务器硬盘上实在存在的恣意目次!

2)uploadmethod.

请输出要上传的文件:<inputtype="FILE"name="file"/>

2.get
S端读取:
1).request.getInputStream举行剖析
publicServletInputStreamgetInputStream()throwsjava.io.IOException

2).Jakarta通用库



3.download




tempsql:

createtableupload(

namevarchar2(16)primarykeynotnull,

contentclob);

commit;



server端承受文件上传,下载commons-fileupload-1.0,http://jakarta.apache.org/commons/fileupload/



申明:

Commons是Apache开放源代码构造中的一个Java子项目,该项目次要触及一些开辟中经常使用的模块,比方文件上传、命令行处置、数据库毗连池、XML设置文件处置等。这些项目汇合了来自天下各地软件工程师的血汗,其功能、不乱性等方面都承受得住实践使用的磨练。无效天时用这些项目将会给开辟带来不言而喻的效果。Fileupload就是个中用来处置HTTP文件上传的子项目。本文次要先容怎样利用Fileupload来处置扫瞄器提交到服务器的文件信息。



PS:一样平常下载的*.jar文件都是拷贝到Tomcat5.5commonlib内里



别的,因为Fileupload子项目同时要用到别的一个项目commons-Beanutils,以是必需下载Beanutils,并将解压后的文件commons-beanutils.jar拷贝到{$TOMCAT}/common/lib目次下




Reference:http://www.7880.com/Info/Article-42b729a0.html


我写的参考源代码:


//inputupload.jsp

<%@pagecontentType="text/html;charset=Big5"%>
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=Big5">
<title>inputUpload</title>
</head>
<body>
<%
request.setCharacterEncoding("big5");
%>
<formaction="getUpload.jsp"enctype="multipart/form-data"method="POST">
进要上鞯奈募:<inputtype="FILE"name="file"/>
<inputtype="submit"value="_定上"/>
</form>

</body>
</html>



//getUpload.jsp

<%@pagecontentType="text/html;charset=GBK"%>

<%@pageimport="java.util.*"%>

<%@pageimport="java.io.*"%>

<%@pageimport="org.apache.commons.fileupload.*"%>

<%@pageimport="org.apache.commons.beanutils.*"%>










getUpload.jsp







<%



DiskFileUploaddfu=newDiskFileUpload();



//设置同意用户上传文件巨细,单元:字节

dfu.setSizeMax(1000000);

//maximumsizethatwillbestoredinmemory?

//设置最多只同意在内存中存储的数据,单元:字节

dfu.setSizeThreshold(4096);

//设置一旦文件巨细凌驾getSizeThreshold()的值时数据寄存在硬盘的目次

dfu.setRepositoryPath("f:public");

//入手下手读取上传信息

try{

ListfileItems=dfu.parseRequest(request);





%>







<%

//顺次处置每一个上传的文件

Iteratori=fileItems.iterator();



Stringname=null;

longsize=0;

while(i.hasNext())

{

FileItemfi=(FileItem)i.next();



//疏忽其他不是文件域的一切表单信息

if(!fi.isFormField()){

name=fi.getName();

size=fi.getSize();

if((name==null||name.equals(""))&&size==0)

continue;}

name=fi.getName();

size=fi.getSize();

name=name.replace(:,_);

name=name.replace(,_);

FilewriteFile=newFile("F:public",name);

fi.write(writeFile);

}



}catch(FileUploadExceptionfue)

{fue.printStackTrace();}

%>












***************

履历:

1.API十分主要.比任何参考书都主要!

2.任何工具只能做为参考,只要本人写出来的才是本人的!


3.碰到甚么坚苦,只要专注和坚韧不拔,究竟已我们站在他人的肩膀上了,他人入手下手走的路比我们更困难,以是我们没有攻不上去的!

我的参考源码,记着,只能给你参考,大概程序里有bug,接待指教:)

有成绩能够一同会商:)



*************

专门做了这个例子;而java的这个例子好像就是为了教学而写的,很多教学目的的例子是不考虑优化、性能的。
愤怒的大鸟 该用户已被删除
沙发
发表于 2015-1-21 09:35:41 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
因胸联盟 该用户已被删除
板凳
发表于 2015-1-30 13:38:08 | 只看该作者
J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
灵魂腐蚀 该用户已被删除
地板
发表于 2015-2-4 13:31:24 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
莫相离 该用户已被删除
5#
发表于 2015-2-7 22:55:57 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
分手快乐 该用户已被删除
6#
发表于 2015-2-11 08:03:36 | 只看该作者
任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言
乐观 该用户已被删除
7#
发表于 2015-2-25 09:48:49 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
再见西城 该用户已被删除
8#
发表于 2015-3-7 19:16:30 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
小魔女 该用户已被删除
9#
发表于 2015-3-15 12:10:55 | 只看该作者
是一种突破用户端机器环境和CPU
再现理想 该用户已被删除
10#
发表于 2015-3-20 17:10:32 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
冷月葬花魂 该用户已被删除
11#
发表于 2015-4-3 11:01:59 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
山那边是海 该用户已被删除
12#
发表于 2015-4-14 02:40:22 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
若相依 该用户已被删除
13#
发表于 2015-4-15 00:29:39 | 只看该作者
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
老尸 该用户已被删除
14#
发表于 2015-4-18 15:56:48 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
柔情似水 该用户已被删除
15#
发表于 2015-4-21 05:08:24 | 只看该作者
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
蒙在股里 该用户已被删除
16#
发表于 2015-4-24 03:50:50 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
飘灵儿 该用户已被删除
17#
发表于 2015-4-27 13:00:15 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
变相怪杰 该用户已被删除
18#
发表于 2015-4-27 16:51:32 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
小女巫 该用户已被删除
19#
发表于 2015-4-29 15:21:11 | 只看该作者
多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。
若天明 该用户已被删除
20#
发表于 2015-4-30 15:24:46 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-16 02:53

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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