仓酷云

标题: JAVA网页编程之jspSmartUpload上传下载全攻略(三) [打印本页]

作者: 飘飘悠悠    时间: 2015-1-18 11:20
标题: JAVA网页编程之jspSmartUpload上传下载全攻略(三)
你通过从书的数量和开发周期及运行速度来证明:net和ruby要比java简单。js|攻略|上传|下载3、文件上传篇
㈠表单请求
关于上传文件的FORM表单,有两个请求:
1、METHOD使用POST,即METHOD="POST"。
2、增添属性:ENCTYPE="multipart/form-data"
上面是一个用于上传文件的FORM表单的例子:
<FORMMETHOD="POST"ENCTYPE="multipart/form-data"
ACTION="/jspSmartUpload/upload.jsp">
<INPUTTYPE="FILE"NAME="MYFILE">
<INPUTTYPE="SUBMIT">
</FORM>
㈡上传的例子
1、上传页面upload.html
本页面供应表单,让用户选择要上传的文件,点击"上传"按钮实行上传操纵。
页面源码以下:
<!--
文件名:upload.html
纵横软件制造中央雨亦奇(zhsoft88@sohu.com)
-->
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
<html>
<head>
<title>文件上传</title>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
</head>
<body>
<p></p>
<palign="center">上传文件选择</p>
<FORMMETHOD="POST"ACTION="jsp/do_upload.jsp"
ENCTYPE="multipart/form-data">
<inputtype="hidden"name="TEST"value="good">
<tablewidth="75%"border="1"align="center">
<tr>
<td><divalign="center">1、
<inputtype="FILE"name="FILE1"size="30">
</div></td>
</tr>
<tr>
<td><divalign="center">2、
<inputtype="FILE"name="FILE2"size="30">
</div></td>
</tr>
<tr>
<td><divalign="center">3、
<inputtype="FILE"name="FILE3"size="30">
</div></td>
</tr>
<tr>
<td><divalign="center">4、
<inputtype="FILE"name="FILE4"size="30">
</div></td>
</tr>
<tr>
<td><divalign="center">
<inputtype="submit"name="Submit"value="上传它!">
</div></td>
</tr>
</table>
</FORM>
</body>
</html>
2、上传处置页面do_upload.jsp
本页面实行文件上传操纵。页面源码中具体先容了上传办法的用法,在此不赘述了。
页面源码以下:
<%--
文件名:do_upload.jsp
纵横软件制造中央雨亦奇(zhsoft88@sohu.com)
--%>
<%@pagecontentType="text/html;charset=gb2312"language="java"
import="java.util.*,com.jspsmart.upload.*"errorPage=""%>
<html>
<head>
<title>文件上传处置页面</title>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
</head>
<body>
<%
//新建一个SmartUpload对象
SmartUploadsu=newSmartUpload();
//上传初始化
su.initialize(pageContext);
//设定上传限定
//1.限定每一个上传文件的最年夜长度。
//su.setMaxFileSize(10000);
//2.限定总上传数据的长度。
//su.setTotalMaxFileSize(20000);
//3.设定同意上传的文件(经由过程扩大名限定),仅同意doc,txt文件。
//su.setAllowedFilesList("doc,txt");
//4.设定克制上传的文件(经由过程扩大名限定),克制上传带有exe,bat,
jsp,htm,html扩大名的文件和没有扩大名的文件。
//su.setDeniedFilesList("exe,bat,jsp,htm,html,,");
//上传文件
su.upload();
//将上传文件全体保留到指定目次
intcount=su.save("/upload");
out.println(count+"个文件上传乐成!<br>");
//使用Request对象猎取参数之值
out.println("TEST="+su.getRequest().getParameter("TEST")
+"<BR><BR>");
//一一提取上传文件信息,同时可保留文件。
for(inti=0;i<su.getFiles().getCount();i++)
{
com.jspsmart.upload.Filefile=su.getFiles().getFile(i);
//若文件不存在则持续
if(file.isMissing())continue;
//显现以后文件信息
out.println("<TABLEBORDER=1>");
out.println("<TR><TD>表单项名(FieldName)</TD><TD>"
+file.getFieldName()+"</TD></TR>");
out.println("<TR><TD>文件长度(Size)</TD><TD>"+
file.getSize()+"</TD></TR>");
out.println("<TR><TD>文件名(FileName)</TD><TD>"
+file.getFileName()+"</TD></TR>");
out.println("<TR><TD>文件扩大名(FileExt)</TD><TD>"
+file.getFileExt()+"</TD></TR>");
out.println("<TR><TD>文件全名(FilePathName)</TD><TD>"
+file.getFilePathName()+"</TD></TR>");
out.println("</TABLE><BR>");
//将文件另存
//file.saveAs("/upload/"+myFile.getFileName());
//另存到以WEB使用程序的根目次为文件根目次的目次下
//file.saveAs("/upload/"+myFile.getFileName(),
su.SAVE_VIRTUAL);
//另存到操纵体系的根目次为文件根目次的目次下
//file.saveAs("c:        emp"+myFile.getFileName(),
su.SAVE_PHYSICAL);
}
%>
</body>
</html>


专门做了这个例子;而java的这个例子好像就是为了教学而写的,很多教学目的的例子是不考虑优化、性能的。
作者: 分手快乐    时间: 2015-1-19 18:59
是一种语言,用以产生「小应用程序(Applet(s))
作者: 活着的死人    时间: 2015-1-24 15:23
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
作者: 只想知道    时间: 2015-2-1 10:13
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
作者: 不帅    时间: 2015-2-3 17:50
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
作者: 再见西城    时间: 2015-2-5 12:32
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
作者: 再现理想    时间: 2015-2-6 07:39
[url]http://www.jdon.com/[/url]去下载,或到同济技术论坛的服务器[url]ftp://nro.shtdu.edu.cn[/url]去下,安装上有什么问题,可以到论坛上去提问。
作者: 老尸    时间: 2015-2-11 04:11
科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。
作者: 蒙在股里    时间: 2015-3-1 20:55
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
作者: 小女巫    时间: 2015-3-6 20:20
吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧
作者: 深爱那片海    时间: 2015-3-7 03:41
一直感觉JAVA很大,很杂,找不到学习方向,前两天在网上找到了这篇文章,感觉不错,给没有方向的我指了一个方向,先不管对不对,做下来再说。
作者: 第二个灵魂    时间: 2015-3-8 17:14
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
作者: 仓酷云    时间: 2015-3-16 07:26
设计模式是高级程序员真正掌握面向对象核心思想的必修课。设计模式并不是一种具体"技术",它讲述的是思想,它不仅仅展示了接口或抽象类在实际案例中的灵活应用和智慧
作者: 莫相离    时间: 2015-3-22 21:08
自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。




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