本 科 毕 业 设 计
第 21 页 共 35 页
购物车主要用来暂时保存挑选出来的图书,主要包括对所选图书的添加、查看购物车、单件图书购买数量的修改、清空购物车四个部分。用户登录后,单击图书展示展示中的购买按钮,可以将对应的图书添加到购物车上,购物车上将会保存图书的ISBN号、书名、单价、购买数量、每种图书的单价 以及购物车内全部图书的合计金额。查看购物车页面时,单击退回图标可以从购物车中移去指定图书;在数量文本框中输入购买数量后,单击“修改数量”超链接可以修改指定图书的购买数量;单击“清空购物车”超链接,将退回购物车中的全部图书;如果用户确认购买当前购物车中的全部图书,可以单击“去收银台结账”超链接,进行订单处理。 a)添加至购物车
添加至购物车页cart_add.jsp主要用于将图书信息暂存到购物车中。在购物车的设计过程中采用了Vector类型的变量cart来存储购物数据,这些数据被保存在session中。将图书信息添加至购物车时有两种情况。当cart为空时,也就是当用户每次向购物车添加1本书时,都要新建一个cart,然后将图书信息保存到cart中;当cart不是空时,说明购物车中已经保存了已经选购的书籍,这时不需要新建一个cart,只需要直接向里面加入图书信息即可。如果书籍是重复的,只要修改cart中的图书数量。添加购物车的关键代码如下:
//当cart中已经存在所添加的书籍时,只将数量加1。 if (bookitem.ISBN.equals(mybookelement.ISBN){ bookitem.number++; cart.setElementAt(bookitem,i); Flag=false;
}
//将cart保存到session中。 session.setAttribute(“cart”,cart) b)查看购物车
为了方便随时查看购物情况,在网站的首页的导航条中加入了查看购物车的超连接,通过查看购物车可以将用户放入购物车中的书图信息显示出来。查看购物车的运行结果如图5.6所示。
本 科 毕 业 设 计
第 22 页 共 35 页
图5.6 查看购物车
在查看购物车页面cart_see.jsp的顶部首先需要判断购物车是否为空,如果为空将页面跳转到购物车为空页面cart_null.jsp,否则显示购物车信息。
c)修改购物车中指定图书的购买数量
购物车中还要加入修改指定图书购买数量的功能。在购物车中由于书的数量被存放在文本框中,用户只需在某种图书后面的文本框中输入相应的数量,然后将光标的焦点移到其他位置上就可以修改要提交表单的数量。
d)从购物车中移去指定图书
在设计购物车时实现从购物车中移除指定图书是通过Vector类的removeElementAt(int index)方法非常方便。关键代码:cart.removeElementAt(id);
e)清空购物车
清空购物车的方法很简单,只需将保存在Session中的购物车信息清空即可。清空购物车页面cart_clear.jsp的关键代码如下: <%session.removeAttribute(“cart”); response.sendRedirect(“cart_null.jsp”);%>
5.8 生成订单的过程
生成订单是网上购物车的最终目的,前面所有功能都是为最后生成一个用户满意的订单做准备的。生成订单时不仅要保存用户订单中所购买的图书信息和订单信息,在同时还要返回一个可供用户随时查询的订单号。用户单击查看购物车页面中的“去收银台结账”超链接时就会进入到收银台页面填写订单信息,在该页面中系统会根据登录的用
本 科 毕 业 设 计
收银台的运行页面如图5.7所示。
第 23 页 共 35 页
户名自动填写用户的基本信息,除了用户名不可更改,其他的内容都可以有用户修改,
图5.7 收银台
用户在收银台页面填写订单信息后,单击“提交”按钮将进入到保存订单页面cart_order.jsp 将订单信息分别保存到订单主表和订单明细表中。由于网上书店中为用户设置了会员等级,所以在保存订单时还需要取出用户的等级,并根据会员等级打与之相符合的折扣,最后如果用户消费金额达到一定的数量时会员会进级,如果已经达到最高级别就不需要进级了。确定给每一级别打折的比例,需要管理员直接进入的数据库,修改数据库中的表tb_rebate中相应字段的值。
5.9 订单查询的实现过程
订单查询页面是为了用户查询订单信息及其执行状态而设定的。用户成功登录后,单击网站顶端导航条中的“订单查询”超链接,就可以进入到订单查询页面,这个页面中列出了当前用户的全部订单及其信息列表。订单查询的页面如图5.8所示。
查询订单概要信息主要从tb_order表中根据当前的登录用户名获取的订单信息。关键代码如下:
ResultSet rs=connDB.executeQuery(“select” *from tb_order where username=“”+ (string)session.getAttribute(“UserName”+“”);
本 科 毕 业 设 计
第 24 页 共 35 页
图5.8 订单查询
查询订单概要信息主要从订单主表tb_order中根据当前登录的用户名获取订单信息。 在订单查询页面中,单击“订单编号”可以进入到订单详细信息的查询。在订单详细查询中列出了订单号、用户地址、用户邮编、用户电话以及用户所购图书的编号、名称、数量、价格等一系列信息,向用户提供了一种参看核实订单的功能。订单详细查询的运行页面如图5.9所示。
图5.9 详细订单查询
本 科 毕 业 设 计
5.10后台登录实现过程
第 25 页 共 35 页
在网站前台首页的底部提供了后台管理员登录的入口,登录是管理员输入正确的用户名和密码登录到后台。在登录时,如果用户名或密码为空,系统将通过JavaScript进行判断并给予提示信息。为了网站的安全,防止一些不法分子的故意破坏在网站的后台设计了用于检验用户身份的文件safe.jsp。当用户没有正确登录的时候弹出“您还没有登录”的提示对话框。确定后退出后台页面回到首页。后台登录页面的运行结果如图5.10所示。
图5.10 后台登录窗口 5.11 图书管理实现的过程
图书管理模块主要实现了对图书信息的管理,主要包括分页显示图书信息,添加图书信息,修改图书信息,删除图书信息等。
a) 分页显示图书信息
分页显示图书信息是图书管理的首页,主要是将数据表中的图书信息以列表的方式显示,除此之外还要添加修改和删除的超链接,方便后台对图书的修改和删除。在添加图书信息栏的左半部是专门为用户提供的提示信息,这样做使得网站更人性化。分页显示图书信息的页面运行结果如图5.11所示。
在分页显示图书信息页面中主要显示图书的ISBN号、图书名称、出版社、是否是新书、是否是推荐的书等信息,图书的其他信息,可以通过单击图书名称超链接进入图书详细页面的查询。实现图书查询的代码比较简单,这里不做专门的介绍。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库网上书店系统 - 毕业设计正文(5)在线全文阅读。
相关推荐: