JSP分页显示数据
实现分页显示数据需要以下步骤
- 确定每页显示的数据数量
- 计算显示的页数
- 编写SQL语句
在MySQL数据库中可以使用LIMIT实现分页。
实现分页的规律:起始行偏移量 = (当前页页码 - 1) * 每页显示的记录数
用Commons-FileUpload组件实现文件上传
Commons-FileUpload简介
Commons是Apache开放源代码组织的一个Java子项目,该项目主要涉及一些开发中常用的模块,如文件上传、命令行处理等。FileUpload就是其中一个处理HTTP文件上传的子项目,其优点如下:
- 使用简单
- 能够全程控制上传内容
- 能够对上传文件的类型、大小进行限制
表单属性设置
文件上传时,需要在表单属性中添加enctype属性,该属性用于设置表单提交数据的编码方式。
<from enctype="multipart/form-data" method="post"></form> //上传文件时form标签的method属性值必须为post。
Commons-FileUpload组件的API
- ServletFileUpload类
ServletFileUpload类的常用方法
名称 | 描述 |
---|---|
void setSizeMax(long sizeMax) | 设置请求信息实体内容的最大允许的字节数 |
List parseRequest(HttpServletRequest req) | 解析from表单提交的数据,返回FileItem实例的集合 |
static final boolean isMultipartContent(HttpServletRequest req) | 判断请求信息中的内容是否是"multipart/form-data"类型 |
void setHeaderEncoding(String encoding) | 设置转换时所使用到的字符集编码 |
- FileItem接口
FileItem接口的常用方法
名称 | 描述 |
---|---|
boolean isFormField() | 判断FileItem对象封装的数据类型。普通表单字段返回true,文件表单字段返回false |
String getName() | 获得文件上传字段中的文件名。普通表单字段返回null |
String getFieldName() | 返回表单字段元素的name属性值 |
void write(File file) | 将FileItem对象中保存的主体内容保存到指定的文件中 |
String getString() | 将FileItem对象中保存的主体内容以一个字符串返回。 |
long getSize() | 返回单个上传文件的字节数 |
- FileItemFactory接口与实现类
创建ServletUpload实例需要依赖FileItemFactory工厂接口。DiskFileItemFactory是FileItemFactory接口的实现类。
DiskFileItemFactory类的常用方法
名称 | 描述 |
---|---|
void setSizeThreshold(int sizeThreshold) | 设置内存缓冲区的大小 |
void setRepositoryPath(String Path) | 设置临时文件存放的目录 |