1 功能介绍
-
管理平台
- 新增书籍(同步的SmartUpload图片上传、图片预览)
- 新增类别
- 展示书籍(自制分页的书籍详情【异步地增删改图片/设置封面】、单个/批量删除书籍、按类别/作者/书名查找书籍)
-
展示界面
- 将封面/书名/价格显示在展示页上
- 详情中,设置Banner窗展示书籍图片
- 加入/查看购物车(使用Session实现,没有实现删除购物车商品以及结算)
- Cookie中存储最近四条浏览记录
2 部分源码介绍
2.1 文件的异步处理
与前面写到的文件上传(同步)原理类似,这里后台的代码、enctype类型与同步的方式相同。不同之处在于前端jQuery的请求方式变为了异步请求,处理方式也更加灵活。详情见我的Github源码,从这一行向下有对图片异步地增删改查。
2.2 session和cookie在WEB应用中的使用
展示页中,购物车的存储使用了session,浏览记录使用cookie存储。session服务器通过cookie将sessionid存于客户端的本地内存而不会存储内容。内容还是存于服务器上,再调用时客户端在请求中传入sessionid找到相应的内容。源码在此。
2.3 导出Excel并下载
使用apache的poi工具可以将表格中的数据写入到一个Excel文件中并导出下载。源码在此。
2.4 上传图片预览
上传图片后,服务器会将图片暂存在一个虚拟地址,此时可以通过虚拟地址将图片在页面上显示出来。源码在此。
2.5 数据库中TimeStamp的前后端格式化
2.6 使用Oracle分页时需要注意
- 要在查询结果之后,排序之前生成rownum。所以有排序需求时,在最内层排好序生成rownum后排序
- 有排序需求时,若被排序的字段不能确保唯一性,那么需要加另外一个可以确保唯一性的字段作为排序的第二因子,否则最终可能会出现重复数据
3 关系表
- 书籍表
- 类别表
- 书籍图片表
4 源码
我的源码托管在Github,欢迎访问!
基于Java Servlet/DBUtils+DBCP连接池/BootStrap的书籍管理系统部分模块