java web pdf迅雷下载文件_javaWeb实现文件上传及下载.pdf

jjaavvaaWWeebb实实现现文文件件上上传传与与下下载载

文件上传概述

实现web开发中的文件上传功能,需完成如下二步操作:

在web页面中添加上传输入项

在servlet 中读取上传文件的数据,并保存到本地硬盘中。

如何在web页面中添加上传输入项?

标签用于在web页面中添加文件上传输入项,设置文件上传输入项时须注意:

1、必须要设置input输入项的name属性,否则浏览器将不会发送上传文件的数据。

2、必须把form 的enctype属值设为multipart/form-data.设置该值后,浏览器在上传文件时,将把文件数据附带在http请求消息

体中,并使用M IME协议对上传的文件进行描述,以方便接收方对上传数据进行解析和处理。

文件上传概述

如何在 ervlet 中读取文件上传数据,并保存到本地硬盘中?

Request对象提供了一个getInput tream方法,通过这个方法可以读取到客户端提交过来的数据。但由于用户可能会同时上传多

个文件,在servlet端编程直接读取上传数据,并分别解析出相应的文件数据是一项非常麻烦的工作,示例。

为方便用户处理文件上传数据,Apache开源组织提供了一个用来处理表单文件上传的一个开源组件 ( Commons-

fileupload ),该组件性能优异,并且其API使用极其简单,可以让开发人员轻松实现web文件上传功能,因此在web开发中实

现文件上传功能,通常使用Commons-fileupload组件实现。

使用Commons-fileupload组件实现文件上传,需要导入该组件相应的支撑jar包:Commons-fileupload和commons-io 。commons-

io不属于文件上传组件的开发jar文件,但Commons-fileupload组件从1.1版本开始,它工作时需要commons-io包的支持。

fileupload组件工作流程

核心API—DiskFileItemFactory

DiskFileItemFactory 是创建 FileItem 对象的工厂,这个工厂类常用方法:

public void set izeThreshold(int sizeThreshold) :设置内存缓冲区的大小,默认值为10K 。当上传文件大于缓冲区大小时,

fileupload组件将使用临时文件缓存上传文件。

public void setRepository(java.io.File repository) :指定临时文件 目录,默认值为 ystem.getProperty("java.io.tmpdir").

public DiskFileItemFactory(int sizeThreshold, java.io.File repository) :构造函数

核心API— ervletFileUpload

ervletFileUpload 负责处理上传的文件数据,并将表单中每个输入项封装成一个 FileItem 对象中。常用方法有:

boolean isMultipartContent(Http ervletRequest request) :判断上传表单是否为multipart/form-data类型

List parseRequest(Http ervletRequest request) :解析request对象,并把表单中的每一个输入项包装成一个fileItem对象,并

返回一个保存了所有FileItem的list集合。

setFile izeMax(long file izeMax) :设置上传文件的最大值

set izeMax(long sizeMax) :设置上传文件总量的最大值

setHeaderEncoding(java.lang. tring encoding) :设置编码格式

setProgressListener(ProgressListener pListener)

1

文件上传案例

实现步骤

1、创建DiskFileItemFactory对象,设置缓冲区大小和临时文件 目录

2、使用DiskFileItemFactory对象创建 ervletFileUpload对象,并设置上传文件的大小限制。

3、调用 ervletFileU

Java Web开发实例大全(提高卷)筛选、汇集了Java Web开发从基础知识到高级应用各个层面的大量实例及源代码,共有600个左右,每个实例及源代码按实例说明、关键技术、设计过程、详尽注释、秘笈心法的顺序进行了分析解读。 全书分为7篇23章,包括流行组件应用、数据库应用、图表统计、Ajax框架应用、流行框架、网站安全与架构模式、综合应用等。重点内容有操作XML文件、发送与接收邮件、数据库操作技术、SQL语句应用技术、复杂查询技术、数据库高级应用、JFreeChart绘图基础、基础图表技术、扩展图表技术、基于Cewolf组件的图表编程、Prototype框架、jQuery框架、Dojo框架、Struts2框架应用、Struts2框架标签应用、Hibernate框架基础、Hibernate高级话题、Spring框架基础、Spring的 Web MVC 框架、网站性能优化与安全策略、设计模式与架构、网站设计与网页配色、Java Web典型项目开发案例等。配书光盘附带了实例的源程序。 《Java Web开发实例大全(提高卷)》既适合Java Web程序员参考和查阅,也适合Java Web初学者,如高校学生、软件开发培训学员及相关求职人员学习、练习、速查使用。 目录 第1篇 流行组件应用篇 第1章 操作XML文件 第2章 发送与接收邮件 第2篇 数据库应用篇 第3章 数据库操作技术 第4章 SQL语句应用技术 第5章 复杂查询技术 第6章 数据库高级应用 第3篇 图表统计篇 第7章 JFreeChart绘图基础 第8章 基础图表技术 第9章 扩展图表技术 第10章 基于Cewolf组件的图表编程 第4篇 Ajax框架应用篇 第11章 Prototype框架 第12章 jQuery框架 第13章 Dojo框架 第5篇 流行框架篇 第14章 Struts2框架应用 第15章 Struts2框架标签应用 第16章 Hibernate框架基础 第17章 Hibernate高级话题 第18章 Spring框架基础 第19章 Spring的Web MVC框架 第6篇 网站安全与架构模式篇 第20章 网站性能优化与安全策略 第21章 设计模式与架构 第7篇 综合应用篇 第22章 网站设计与网页配色 第23章 Java Web典型项目开发案例
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值