《基于Java EE的高级程序设计》
课程设计
题 目 520网上购书系统 学 院 信息科学与工程 专 业 计算机卓越工程师 班 级 计卓1201 学 生 孙瑜 学 号 20121222104
二〇一五 年 十月 二十三 日
济南大学课程设计
目 录
一、 设计内容与要求
综合运用Struts2、Spring和Hibernate框架,设计实现一个网上购书系统,网上购书系统(网上书店)将实现注册、浏览商品、查询商品等基本功能。 网上购书系统要求如下:
1.1 用户可以浏览图书分类和网站推荐的图书。 1.2 用户可以根据分类,浏览某一类的图书列表。 1.3 用户可以查看具体某本图书的介绍。
1.5 用户在图书浏览页面,单击【添加】按钮,把选定图书添加到购物车中。
1.6 用户可以单击【购物车】超链接,查看购物车信息。
1.7 用户可以单击【结账】按钮下订单,当然需要登录后才能操作。 1.8 用户在注册页面,填写注册信息,确认有效注册,成为新用户。 1.9 用户在登录页面,填写用户名和密码,确认正确,可以结账
二、需求分析
2.1 520网上购书系统主要实现以下功能:
2.1.1用户注册登陆 (1).用户注册
(2).验证用户注册信息 (3).会员登录购书 2.1.2浏览图书
(1).浏览不同类别的书籍 2.1.3 选购商品
(1).用户选购放入购物车
- 1 -
济南大学课程设计
(2).用户管理自己的购物车
(3).用户提交订单
(4).用户查看自己提交的订单信息 2.14.书籍管理
(1).书籍信息管理 (2).书籍分类
2.1 功能框图
- 2 -
济南大学课程设计
三、概要设计
3.1 系统整体结构图
3.2 数据流程E-R图
- 3 -
济南大学课程设计
四、详细设计
4.1 表结构
- 4 -
济南大学课程设计
五、 关键代码
5.1. DAO接口IUserDAO.java及DAO层实现类UserDAO.java :
package org.bookstore.dao;
import org.bookstore.model.User; public interface IUserDAO { public void saveUser(User user);
public User validateUser(String username,String password); public boolean exitUser(String username);
}
package org.bookstore.dao.impl; import java.util.List;
import org.bookstore.dao.IUserDAO; import org.bookstore.model.User;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport; public class UserDAO extends HibernateDaoSupport implements IUserDAO{ public void saveUser(User user){
}
public User validateUser(String username,String password){
String str[]={username,password};
this.getHibernateTemplate().save(user);
List list=this.getHibernateTemplate().find(\"from User u where u.username=? and u.password=?\",str);
}
public boolean exitUser(String username){ username=?\",username);
}
if(list.size()>0)
return true; return false; else
List list=this.getHibernateTemplate().find(\"from User where
if(list.size()>0){
User user=(User)list.get(0); return user; return null;
}else
}
5.2在applicationContext.xml中进行依赖注入
- 5 - 济南大学课程设计
5.3购物车的实现思路:把用户选择的图书通过一个订单项放到购物车Cart中,购物车保存在session中。 新建购物车类Cart.java:
public class Cart { protected Map - 6 - 济南大学课程设计 // 计算总价格 public int getTotalPrice() { int totalPrice = 0; for (Iterator it = items.values().iterator(); it.hasNext();) { Orderitem orderitem = (Orderitem) it.next(); Book book = orderitem.getBook(); int quantity = orderitem.getQuantity(); totalPrice += book.getPrice() * quantity; } return totalPrice; } public Map public void setItems(Map 六、 调试情况及运行结果分析 图1 购书系统首页 - 7 - 济南大学课程设计 图2 用户登录页面 图3 登陆成功页面 - 8 - 济南大学课程设计 图4 图书分类页面 图5 购物车页面 - 9 - 济南大学课程设计 七、总结 - 10 - 因篇幅问题不能全部显示,请点此查看更多更全内容