网上书城项目总结
1 项目大纲设计:
需求分析
系统设计
详细设计
权限设计
2 技术选型:
Servlet+jsp+javaBean
Listener+Filter+jstl+fileupload+c3p0+dbutils+mysql
3 开发顺序:
从dao层到service层再到web层
网上书城需求分析:
分别对管理员,普通用户,系统三个用户角色的各个功能的实现。
其中包括管理员对图书商城的后台图书以及图书的类别分类增删查改,以及订单的状态;
普通用户对于图书的选购,浏览,购物车的管理以及确认订单的提交;
系统管理角色对于用户的登陆注册,权限的控制等。
网上书城系统设计
系统设计成web层,service层,dao的三层结构,前端页面收集用户数据及用户操作;
service为业务逻辑层,通常每个方法处理一个独立的业务逻辑,业务可能需要操作数据库也可能仅仅操作内存;
dao持久层就是把数据存储到数据库或者从数据库中获得数据
网上书城详细设计
1 数据库设计(按照domain领域对象设计) 此处不详细解释
2 dao层设计:使用反射技术再加上一些domain类的设计约束写一个通用的dao类,满足所有的domain对象的数据库操作需求:
domain类设计约束 :
1 每个domain类都有一个静态常量字符串记录对应的数据库表的表名,
2 提供字符串类型的id字段 ,
3 所有字段的名称和数据库表的列名对应相同,
4 遵守JavaBean思想
3 service层设计
在创建出的dao类利用反射技术也提供一个统一的service类,负责绝大部分通用业务逻辑,当有特别的业务逻辑时,就再提供一个专门的service类处理该业务逻辑
4 servlet设计 (servlet+jsp)
jsp页面的设计
首页显示普通用户的首页,在首页上提供登录入口,如使用管理员账户登录,则跳转到管理员首页. 普通用户首页主题是图书列表,并且提供查询区域让用户查询特定的图书
另外对于购物车以及生成订单设计均为模拟网上购物流程,不再赘述。
编码大致过程
创建项目
建包
导入需要的jar包
创建domain类
工具类
项目总结:
在编码过程中,对于数据访问数据库,业务处理层以及角色管理的模块中,增加了对其中细节的掌握,还有特别是对项目流程有了更清楚的了解。
比如如说对数据库的条件查询,通用可以作为工具方法的封装,对于编码过程的顺序开发等都有了一定的见解。一言:很有收获。详细细节 见源代码
源码:提供 bookstore.rar 下载..