网上书店——在线购物及统计分析的设计与实现学士学位论文(编辑修改稿)内容摘要:

更有购买价值之后,那么就应该在购物车里面添加一个单本删除已选图书或几本图书的删除功能。 在购物车功能前台页面代码开发的时候,本人对页面的跳转做了以下的设定。 首先在进入书本详细介绍页面的时候,在次页面下添加了选择购书数量的功能,在点击“购买”后,页面返回 到主页面,在再次进入到购物车页面后,购物车页面显示了刚才选中图书的详细情况,并且在此有删除该本图书的功能,在点击“提交”后,完成该本书籍的网上购买,系统自动在该用户的余额中扣去相应金额。 在代码开发中,购物车的功能是由几个类共同完成。 类是完成购物车图书详情的功能,并显示所选书籍的 user_id, book_id, buynum,和 bookname , 并 且 将 bookname 转 码 成 标 准 的 gb2312 格 式。 而 类是购物车中的删除已选图书的功能, 它调用了Javabean 中的 的逻辑处理方法, 完成了对单本图书和多本图书删除图 33 购物车界面图 第 7 页 共 22 页 功能的实现。 在前台 页面的代码中,也加入了一些判断语句,对购物车界面的一些操作进行对话框提示,让页面更具友好化。 购物车表单功能核心代码: // String user_id = (user_id)。 String book_id = (bookid)。 String num = (buynum)。 String bookname =。 try { //将 bookname转码 bookname=newString((bookname).getBytes( ISO88591), gb2312)。 } catch (UnsupportedEncodingException e) { // TODO Autogenerated catch block ()。 } // 新建一个 arraylist的列表 ArrayList buybooklist = new ArrayList()。 //设置一些信息 ,如: user_id等,放进 BuyBookList BuyBookList blist = new BuyBookList()。 (user_id)。 (book_id)。 (num)。 (bookname)。 ((price))。 删除书籍功能核心代码: try { //从页面获取参数: String bid[] = (bid)。 int n = 0。 //从全局容器中拿到书的列表: ArrayList buybooklist = (ArrayList) session .getAttribute(buybooklist)。 (bid[ 1])。 //这里是把列表中的书删除掉,这个 action是做删除的动作,拿到了用户选择的书的 id的数组(多本书) bid,然后根据 id去把列表中的书删除掉: for (int i = 1。 i = 0。 i) { n = (bid[i])。 (n)。 } //把删除后的列表放到容器中: (buybooklist, buybooklist)。 //如果列表中没书了,就不要放到容器中,用 remove移除: 第 8 页 共 22 页 if (() == 0) { (buybooklist)。 (nullnull**********)。 } //跳转页 面: pageForward = delbuycart。 ( 2)充值管理功能 本模块是为了方便书店店主以管理员身份进入后台管理界面进行充值操作而设计的,即当顾客在查询到自己余额不足的情况下,通过某种方式与店主取得联系并在网站外完成金额交易(比如:汇款),然后店主以管理员的身份进入到后台管理中的会员充值模块中,选中顾客 id后,根据需要对该用户充值相应的金额。 本功能在设计的时候,是将此功能设定在后台管理员界面中用户管理模块里面,方便管理员在对用户信息充值的时候好对用户信息进行查看。 在设计充值的时候, 调运了 里面的 addmoney 方法来实现充值功能,为了使管理员能够及时查看到充值过后用户余额的变化,在页面显示了用户的当前余额,并在界面设计中的 代码中设置了一些对管理员操作的判断,给予一些友好提示。 统计分析模块 本模块包括了排行榜功能和积分管理功能两大功能, 其功能主要是指顾客对本系统书籍的点击数,购买数和积分事件实行的页面实现功能。 该模块的功能图如图 34所示。 图 34 统计分析模块功能示意图 统计分析 总排行榜 周点击排行榜 积分查询 日点击排行榜 积分管理 排行榜 设定积分事件 总点击榜 总销售榜 第 9 页 共 22 页 ( 1)排行榜功能介绍 排行榜功能说明:排行榜模块的实现是为了方便顾客在浏览本网站图书时,给予顾客选购图书起到一定的推荐作用。 本排行榜模块包括了总的点击排行榜,总的销售排行榜,还有日点击排行榜跟周点击排行榜。 下面是排行榜界面图 , 如图 35所示。 排行榜在本系主要模块统统计分析模块中占有重要地位,下面就来详细讲解以下排行榜功能的实现和核心代码。 排行榜功能在设计的时候,考虑到不同用户的爱好,就设定了有总的销售排行榜,总的点击排行榜,周排行榜和日排行榜,在周排行榜和日排行榜都运用了一个系统监听的方法来 对时间周期进行判定,从而实现这两个排行榜特殊功能的,在总销售排行榜里,每本书籍后都有销售的数量数,在三个点击排行榜里,每本书后也有点击数显示。 本功能的实现是在各个排行榜排列主页面的右方,并运用了下拉滚动条来实现的。 在代码中,排行榜的完成是由 来实现的,其中 ActionServlet 调用了 JavaBean 中 和 的逻辑处理方法。 而在 中 运 用 到 了 gethotbooklist , gethotbooklistday ,gethotbooklistweek 和 gethotsellbooklist 这四个方法,这四个方法便是运用数据库语句将这四个排行榜从数据库中搜索出来,以完成这四个排行榜的实现。 在前台 页面代码中,实现了下拉滚动条的功能,也运用到了 中的 getname,getid,getclick 和 getnum 来对三个点击排行榜里面显示点击数和销售排行榜里面显示销售数的功能实现。 在日排行榜和周排行榜图 35 排行榜功能界面图 第 10 页 共 22 页 中还用到了 中的 contextInitialized方法,它实现了日排行榜和周 排行榜中时间的判定。 系统监听器实现的核心代码: public void contextInitialized(ServletContextEvent event) {//在这里初始化监听器,在 tomcat启动的时候监听器启动,可以在这里实现定时器功能 timer = new Timer(true)。 ().log(定时器已启动 )。 //添加日志,可在 tomcat日志中查看到 (new exportHistoryBean(()),0,60*60*1000)。 // 调用exportHistoryBean, 0 表示任务无延迟, 5*1000表示每隔 5 秒执行任务, 60*60*1000表示一个小时。 ().log(已经添加任务 )。 } public void contextDestroyed(ServletContextEvent event) {//在这里关闭监听器,所以在这里销毁定时器。 ()。 ().log(定时器销毁 )。 } ( 2)积分管理功能 积分管理模块中的积分查询是让顾客能够查询到自己的积分情况,本系统中的积分事件功能是当你注册成为会员用户后,在购买书籍金额累计到 500 元过后(本系统消费一元就等于加积分一点),系统自动将该会员用户升级成 vip用户, vip 用户享受购书 8折优惠。 在设计该部分时,鉴于该功能的特性,该功能是不能以功能键放置到页面,因此没对该功能做界面设计,便在开发代码 的时候,在 Javabean中的 里设定了一个 moneyupdate方法,用方法中 if判断语句来对积分事件进行判定,从而完成该功能实现的。 订单处理模块 本模块包括了用户的购买记录功能和管理员的消费记录功能,其功能是让顾客和店主能够自己查询已购书本记录和消费订单记录。 该模块的功能示意图如 图 36所示。 第 11 页 共 22 页 ( 1)购买记录功能 该功能让用户在该用户的账户管理中,能够实现用户对自己购买书籍记录的查看。 而且还能够实现购买记录的电子报 表导出,并且能够完成该页面的打印功能。 该功能在设计的时候,考虑到用户需要对自己购买书本的详细情况进行了解或查询,所以需要有个导出电子报表的功能,好让用户对个人购书记录的情况有个直观了解,而在便于用户对购买记录的即时保存上,本系统在购买记录功能界面添加了打印记录功能。 在这两个功能的辅助下,使得用户在对购买记录的查询和保存上有了一定的保障措施。 在打印代码的设计时,是由 实现的,里面运用了 if 语句来对消费记录为空进行判断,而且其中调用了 中的 getquerylist 方法,来对消费记录表进行读取,从而实现打印功能。 ( 2)消费记录功能 消费记录功能说明:该功能是让管理员在登录之后,对所有顾客消费记录的查看。 其中的查询功能能够根据书名和用户的 id号来查询相应书籍的详细记录,而且能够实现购买记录的电子报表导出,也能够完成该页面的打印功能。 现在介绍下消费记录功能中电子报表导出的功能。 设计此功能是为了方便管理员更直观的查看消费记录清单。 它能够根据消费记录导出一张 excel 表,包括了用户 id,书籍名,购买数量,购买价格和购买时间这些重要信息的导出。 在代码设 计中,报表导出的功能主要是用 Javabean 里面的 来实现,在这个类里,调用了 writeexcel 这个方法,运用 case 语句来对 excel表导出进行判断来完成此功能。 Excel 表导出功能核心代码: //这个是导出 excel,一个 workbook就相当于一个 excel文件: HSSFWorkbook wb = new HSSFWorkbook()。 //一个 sheet就是 excel里面的一个 sheet: 订单处理 图 36 订单处理模块功能示意图 消费记录 购买记录 导出电子报表 打 印记录 记录查询 导出电子报表 打印记录 第 12 页 共 22 页 HSSFSheet s = ()。 //然后为 sheet设置名字 (0, 购买记录 , (short) 1)。 /。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。