CartItem是一个存放菜品价格、ID和购买数量的一个集合类,如果加入购物车的菜品和购物车中已有的菜品ID相同,则购物车数组长度不会变,只把数量加1。为了防止重复几次购买相同的食品在购物车中添加,添加一次就只有把购买数量不断累加,如果购买的菜品和已购菜品不同,则将新购菜品加入购物车数组,跳转到cart_see.jsp。
5.1.5订单模块功能设计
用户下订单的过程非常的简单,用户只要确认好需要菜品的相关信息后,点击“去收银台结账” 系统会跳转到cart_checkout.jsp界面,并且请求响应CartCheckoutServlet,调用GoodsDao中的getMemberByName方法,通过用户名查询获得用户,返回给cart_checkout.jsp,系统自动获取个人信息,配送信息界面如图5-9所示。
图5-9 配送信息界面
用户填写好付款方式、运送方式,点击提交后进入到SaveOrderServlet.java页面中处理,分别调用saveOrder(Order o)和saveOrderDetail(OrderDetail od)方法将数据分别存入配送订单表(ordertable)和详细订单表(orderdetail)。
用户完成系统操作后,点击首页中的“订单查询”,如图5-10所示,会看到刚才下的订单,点击订单号,可以查看详情,如图5-11所示。经过以上步骤以后,后台的管理员会在后台订单管理里
21
面看到用户的订单信息。
图5-10 订单界面
5-11 详细订单
5.1.6留言板模块功能设计
在首页中,点击右下方“留言”,系统就会跳转到如图5-12的页面中。留言是用户与用户之间、
22
用户与管理员之间相互沟通的一个平台,通过留言板这个平台,可以促进用户与管理员的沟通,提升系统的服务质量。
图5-12 留言板界面
在 showmessage.jsp(留言板界面)中,用户会查看到所有人的留言,包括自己的。在点击此页面时,系统会调用MessageDao.java中的getMessage()方法,通过sql语句String sql=\FROM message\查询到所有,并且添加到相当于容器的m里。showmessage.jsp通过getMessage(),获取m中查询到的数据。
点击上方的添加留言,如图5-13所示。
23
图5-13 添加留言
用户将信息填入后点击提交AddMessageServlet.java 中,首先在AddMessageServlet.java页面中获取之前提交的表单中的信息,然后调用insertMessages(Message m)方法进行添加。
在MessageDao.java中,添加新留言的语句:String sql=\message(title,content,username) VALUES (?,?,?)\。
5.2后台主要模块功能设计
后台管理功能主要针对管理员,管理员登录后可以进行对菜品管理、订单管理、用户管理以及留言管理。
5.2.1管理员登录模块功能设计
如果需要对菜品、订单、用户以及留言板进行相应的操作,必须成功登录后台方可操作,图5-14所示,后台登录界面。
24
图5-14后台登录界面
图5-15管理员登录流程图
如图5-15,管理员输入用户名和密码后,点击登录,会触发onclick事件然后调用一段js程序,验证输入的内容是否为空,验证成功后将form表单提交给Login_M_deal.jsp,页面会调用
25