文章目录
一、分页实现的思路
分页显示的步骤:
二、Commons-FileUpload组件
1.Commons-FileUpload简介
Commons-FileUpload组件
- Commons是Apache开放源代码组织的一个Java子项目,其中的FileUpload是用来处理HTTP文件上传的子项目
Commons-FileUpload组件特点
- 使用简单:可以方便地嵌入到JSP文件中,编写少量代码即可完成文件的上传功能
- 能够全程控制上传内容
- 能够对上传文件的大小、类型进行控制
获取Commons-FileUpload组件的方式
- http://commons.apache.org/fileupload下载Commons-FileUpload组件
类库:commons-fileupload-1.2.2.jar
API文档:commons-fileupload-1.2.2\site\apidocs - http://commons.apache.org/io下载Commons-IO组件
类库:commons-io-2.4.jar
API文档:commons-io-2.4\docs
2.Commons-FileUpload组件应用
环境准备:
- 在项目中引入commons-fileupload-1.2.2.jar和commons-io-2.4.jar文件
设置表单的enctype属性
<form enctype="multipart/from-data" method="post">
在表单中使用File空间选择文件
<input type="file" name="nfile"/>
注意:上传文件时form标签的method属性必须设置为"post",不能设置为"get"
3.Commons-FileUpload组件的API
ServletFileUpload类的常用方法
FileItem接口的常用方法
FileItemFactory接口
- 实现类:DiskFileItemFactory
4.文件上传的实现
编写上传文件处理页面的实现步骤
- 创建FileItemFactory对象
- 创建ServletFileUpload对象
通过构造方法:ServletFileUpload(FileItemFactory) - 解析form表单提交的所有表单元素数据
如果是普通表单元素
获取该元素的名和值使用
如果是文件数据
获取文件名的等参数
保存文件数据到服务器
5.控制上传文件的属性
控制上传文件的类型
List<String> fileType = Arrays.asList("gif", "bmp", "jpg");
String ext = fileName.substring(fileName.lastIndexOf(".") + 1);
if (! fileType.contains(ext)) { // 判断文件类型是否在允许范围内
out.print("上传失败,文件类型只能是gif、bmp、jpg");
} else {
//上传文件
}
控制上传文件的大小
ServletFileUpload upload = new ServletFileUpload(factory);
// 设置一个完整请求的最大限制
upload.setSizeMax(1024 * 30);
try {
// ……省略上传代码
} catch (FileUploadBase.SizeLimitExceededException ex) {
out.print("上传失败,文件太大,全部文件的最大限制是:" +
upload.getSizeMax() + "bytes!");
}