servlet 2.3 例子:上传文件

一、@MultipartConfig

使用@MultipartConfig 注解的servlet 可以调用request.getPart(String name) /request.getParts() ,获取Multipart/form-data 请求的part组件

@MultipartConfig 的属性

1、 fileSizeThreshold int 当数据量大于该值时,内容将被写入文件,默认为0。
2、location String 存放生成的文件地址,文件目录的绝对路径
3、maxFileSize long 允许上传的文件最大值。默认值为 -1,表示没有限制。
4、maxRequestSize long 是 针对该 multipart/form-data 请求的最大数量,默认值为 -1,表示没有限制。

servlet 支持的request.getParts() 方法

request.getParts() 方法返回全部part对象的集合,如果有多个输入文件,则返回多个part对象。
也可以通过request.getPart(String name) 方法 获取特定part对象

二、上传文件

三、inputStream总结

<b>(1)从流中读取数据</b>
int read() 读取一个字节,返回值为所读得字节
int read(byte b[]) 读取多个字节,放置到字节数组b中,通常读取的字节数量为b的长度,返回值为实际独取的字节的数量。
int read(byte b[] ,int off,int len)读取len个字节,放置到以下标off开始字节数组b中,返回值为实际读取的字节的数量。
int available() 返回值为流中尚未读取的字节的数量。
long skip(long n);读指针跳过n个字节不读,返回值为实际跳过的字节数量
(2)<b>关闭流</b>
close() 流操作完毕后必须关闭
(3)<b>使用输入流中的标记</b>
void mark(int readlimit)纪录当前指针的所在位置.readlimit表示读指针读出的readlimit个字节后所标记的指针位置才实效。
void reset() 把读指针重新指向用mark方法所记录的位置
boolean markSupported() 当前的流是否支持读指针的记录功能。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,308评论 6 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,269评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,839评论 18 399
  • 问题:使用URLWithString方法实例化NSURL对象时,如果传入参数为空,或者包含中文,会导致实例化失败,...
    小暖风阅读 267评论 0 1
  • 一直想着一个人,想着她出现在每一个明天,也知道她不会出现在我的明天
    西四船长阅读 251评论 0 0