外观
分页与文件上传
1.分页的实现
1.在表格中显示合理的数据
2.在表格下方维护每一页的跳转链接
分类
1.服务端分页
1.使用结果集分页
2.使用SQL语句分页(limit(MySQL)rownum子查询(Oracle))
3.第三方框架(Mybatis plus,hihernate,Spring管理的hihernate)
2.客户端分页
1.js数组
2.Ajax分页
MySQL的SQL语句分页
limit (page-1)*pageSize,pageSize;
2.图片上传
客户端:
1.post表单提交
2.设置enctype参数
<form enctype="enctype="application/x-www-form-urlencoded""></form>//普通数据
<form enctype="multipart/form-data"></form>// 混合数据,可提交文件
3.需要文件域
type=file
在服务端解析二进制数据流获取文本域参数和文件域
获取方式:
1.第三方类库
1.1SmartUpload.jar
1.2commons-fileupload.jar
1.3cos.jar
2.Servler3.0自己支持文件上传
注解:
@MultipartConfig()
// 创建part对性能
Part coverpath = request.getPart(requestParam);
// 获取文件提交的文件名
String fileName = getFileName(coverpath.getSubmittedFileName());
// 获取文件所在物理路径
String filePath = request.getServletContext().getRealPath(request.getContextPath())+request.getServletContext().getInitParameter("uploadPath");
File file = new File(filePath);
if (!file.exists()){
file.mkdirs();
}
// 写入文件
coverpath.write(filePath+fileName);
// 获取文件大小
coverpath.getSize();
// 获取文件名(表单提交的value值)
coverpath.getName();
// 获取输入流
coverpath.getInputStream();
// 获取提交的文件名
coverpath.getSubmittedFileName();
// 获取文件类型
coverpath.getContentType();
// 写入磁盘
coverpath.write("文件路径");
3.登录与权限验证
session保存登录状态
// 保存登录状态
session.setAttribute("key",value);
// 清除登陆状态
session.remove("key");
Fillter过滤器验证登录状态
使用Cooike保存用户名