数据库设计
sysUser表 有id,username,password
cart表 有id,goodsId,sysUserId,num
goods表 有id,name,price
包结构
action,dao , dao.impl , service , service.impl , util , vo
整体代码流程
1.搭建静态网页
2.把网页代码插入JSP中
3.登录
从form中用request.getParameter()取到用户名和密码的值
把取到的值放在SysUser对象中
在ISysUserService中写login方法,并在SysUserServiceImpl中实现
login方法:创建一个查询放在sysUserlist集合中
判断如果sysUserlist集合不为空并且长度大于0,那么就返回查询到的第一条数据
判断如果传回来的sysUser不为空,那就跳转到首页,否则提示用户名和密码错误,并返回本页
4.注册
从form中用request.getParameter()取到用户名和密码,确认密码和电话号的值
把取到的值放在SysUser对象中
在ISysUserService中写regist方法,并在SysUserServiceImpl中实现
reigis方法:创建一个SysUser的对象,把从页面传回来的用户名与数据库中的用户名作比较
如果能查到值,则抛出一个异常,显示用户名重复
否则向数据库中插入一条数据
5。添加购物车
在商品展示页添加购物车的那个超链接上拼type=add&&id
在cartAction.jsp中写add方法,用request.getParameter()取到商品的Id
创建一个购物车的对象,向里面传商品的id和用户名的id
cartService中调用add方法
add方法:先查询,如果购物车里有数据,则数量加一
否则就增加一条数据
添加完购物车需要自动跳回查看购物车
6.查看购物车
在dao层的cart中写cart和goods双表查询的语句
在cartAction.jsp中调用用户id来查询cart中的数据
cartService中调用list方法
list方法:直接返回dao中list方法
然后返回购物车页面
7.移除购物车
在购物车页面拼接id,在cartAction.jsp中直接调用id
cartService中调用remove方法
remove方法:直接写入dao层的delete方法
然后返回购物车页面
8.结算
在sysUserAction.jsp中写checkOut方法
利用session传过来的id给购物车的id传参
调用cartService中howMoney方法
howMoney方法:调用dao中的list方法
如果不为空,则遍历购物车,将数目和价格相乘,返回最终价钱
把获取到的钱数传回jsp页面中,
在sysUserAction.jsp中写doCheckOut方法
利用session传过来的id给用户的id传参
获取用户名输入的密码
调用cartService中checkOut方法
checkOut方法:在用户中查找传过来的参数
如果有值,则清空购物车
否则抛出异常:用户名或密码有误
因为自定义了一个异常,那么如果成功则返回首页
不成功就提示用户名或密码错误
9.最后将..Action改成servlet,并做相应的xml配置