Jsp分页显示数据
为什么需要分页?
-
能显示多条数据,又不需要拖动页面,是数据更加清晰直观,页面不再冗长,也不受数据量的限制。
-
大容量的数据显示的缺点:
当数据量较多时,用户需要拖动页面才能浏览更多信息。
数据定位不便。
分页实现的步骤
- 确定每页显示的数据
- 计算显示的总页数
- 编写Sql语句,实现数据的查询
- 在Jsp页面进行分页
分页的具体讲解连接https://blog.csdn.net/chenHaiJaheike/article/details/89154723
使用Commons-FileUpload组件实现文件上传
Commons是Apache 开放源代码组织的一个 Java 子项目,该项目主要涉及一些开发中常用的模块,如文件上传、命令行处理、数据库连接等;FileUpload就是其中的一个用于处理 HTTP 文件传的子项目
Commons-FileUpload组件有以下特点
- 使用简单:可以方便地嵌入到JSP文件中,编写少量代码即可完成文件的上传功能
- 能够全程控制上传内容,可以获全部上传文件的信息,包括文件名称、类型、大小等,方便操作。
- 能够对上传文件的大小、类型进行控制,为了避免在上传过程中出现异常数据,在Commons-FileUpload组建中,专门提供了相应的方法用于对上传文件进行控制;
获取Commons-FileUpload组建的步骤:
-
登录网站 http://commons.apache.org/fileupload 下裁 Commons-FileUpload 组件,即commons-fileupload-1.2.2-bin.zip, 将下载的文件解压,得到commons-fileupload-1.2.2文件夹。其中,commons-fileupload-1.2.2/lib/ commons-fileupload-1.2.2.jar即为Commons-FileUpload组件类库。commons-fileupload-1.2.2\site\apidocs为Commons-FileUpload组件的API文档,可以访问index.html查阅相关的类和接口。
-
登录网站 http://commons.apache.org/io 下载Commons-IO组件,即 commons-io-2.4-bin.zip。该组件用干处理文件上传所依赖的 I/O操作。将下载的commons-io-2.4-bin.zip文件解压,得到commons-io-2.4文件夹。其中commons-io-2.4.jar文件即为Commons-IO组件类库,commons-io-2.4\docs为Commons-IO组件的API文档,可以访问index.html相关的类和接口。
表单的属性设置
文件上传时,需要在表单属性中添加enctype属性,该属性用于设置表单提交数据的编码方式,由于文件传至服务器时与文本类型的编码方式不同,需要使用multipart/form-data的编码格式
<form enctype="multipart/form-data" method="post">
上传文件时form标签的method属性取值必须为post,不能为get
表单的enctype的属性的三个值:
- application/x-www-form- urlencoded:默认值,该属性主要用于处理少量文本数据的传递,在向服务器发送大量的文件包含非ASCII字符的文本或 二进制数据时效率很低;
- multipart/form-data:上传二进制数据,只有使用了multipart/form-data才能完整地递文件数据,进行上传操作;
- text/plain : 主要用干向服务器传递大量文本数椐,比较适用干电子邮件的应用。
用File 控件选择文件
<body>
<form action="doupload.jsp" enctype="multipart/form-data" method="post">
<p>姓名:<input type="text" name="user"></p>
<p>选择图片:<input type="file" name="nfile"></p>
<p><input type="submit" value="提交"></p>
</form>
</body>
Commons-FileUpload组件的API
在使用Commons-FileUpload组件之前:环境准备:在项目中引入commons-fileupload-1.2.2.jar和commons-io-2.4.jar文件,添加完成jar之后,在JSP文件中还需要将Commons-FileUpload组件所使用的类库导入JSP文件中。
<%@ page import="org.apache.commons.fileupload.*"%>
ServletFileUpload类的常用方法
FiletItem接口
- 用于封装单个表单字段元素的数据,一个字段表单元素对应一个FileItem实例,在应用程序中使用的是其实现类DiskFileltem。
FileItemFactory接口与实现类
- 创建ServletFileUpload实例需要依赖FileItemFactory工厂接口,DiskFileItemFactory是FileItemFactory接口的实现类。
编写上传文件处理页的实现步骤
-
创建FileItemFactory对象
-
创建ServletFileUpload对象 : 通过构造方法:ServletFileUpload( FileItemFactory )
-
解析form表单提交的所有表单元素数据
-
如果是普通表单元素:
获取该元素的名和值使用 -
如果是文件数据 获取文件名的等参数 保存文件数据到服务器
用Commmons-FileUpload控制文件上传
- 控制文件上传类型
- 控制文件上传大小