【编者按】网学网JSP,NET,JAVA类别频道为大家收集整理了“JSP网上购书系统“提供大家参考,希望对大家有所帮助!
客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn | ||||||||||
3.2.1 统计分析模块
(1)排行榜功能介绍 排行榜功能说明:排行榜模块的实现是为了方便顾客在浏览本网站图书时,给予顾客选购图书起到一定的推荐作用。本排行榜模块包括了总的点击排行榜,总的销售排行榜,还有日点击排行榜跟周点击排行榜。 排行榜在本系主要模块统统计分析模块中占有重要地位,下面就来详细讲解以下排行榜功能的实现和核心代码。 排行榜功能在设计的时候,考虑到不同用户的爱好,就设定了有总的销售排行榜,总的点击排行榜,周排行榜和日排行榜,在周排行榜和日排行榜都运用了一个系统监听的方法来对时间周期进行判定,从而实现这两个排行榜特殊功能的,在总销售排行榜里,每本书籍后都有销售的数量数,在三个点击排行榜里,每本书后也有点击数显示。本功能的实现是在各个排行榜排列主页面的右方,并运用了下拉滚动条来实现的。 在代码中,排行榜的完成是由paihangaction.Java来实现的,其中 ActionServlet调用了JavaBean中db.Java和book.Java的逻辑处理方法。而在book.Java中运用到了gethotbooklist,gethotbooklistday,gethotbooklistweek和gethotsellbooklist这四个方法,这四个方法便是运用数据库语句将这四个排行榜从数据库中搜索出来,以完成这四个排行榜的实现。在前台pai.JSP页面代码中,实现了下拉滚动条的功能,也运用到了book.Java中的getname,getid,getclick和getnum来对三个点击排行榜里面显示点击数和销售排行榜里面显示销售数的功能实现。在日排行榜和周排行榜中还用到了syscontextlistener.Java中的contextInitialized方法,它实现了日排行榜和周排行榜中时间的判定。 系统监听器实现的核心代码: public void contextInitialized(ServletContextEvent event) {//在这里初始化监听器,在tomcat启动的时候监听器启动,可以在这里实现定时器功能 timer = new Timer(true); event.getServletContext().log("定时器已启动");//添加日志,可在tomcat日志中查看到 timer.schedule(new exportHistoryBean(event.getServletContext()),0,60*60*1000);//调用exportHistoryBean,0表示任务无延迟,5*1000表示每隔5秒执行任务,60*60*1000表示一个小时。 event.getServletContext().log("已经添加任务"); } public void contextDestroyed(ServletContextEvent event) {//在这里关闭监听器,所以在这里销毁定时器。 timer.cancel(); event.getServletContext().log("定时器销毁"); } (2)积分管理功能 积分管理模块中的积分查询是让顾客能够查询到自己的积分情况,本系统中的积分事件功能是当你注册成为会员用户后,在购买书籍金额累计到500元过后(本系统消费一元就等于加积分一点),系统自动将该会员用户升级成vip用户,vip用户享受购书8折优惠。 在设计该部分时,鉴于该功能的特性,该功能是不能以功能键放置到页面,因此没对该功能做界面设计,便在开发代码的时候,在Javabean中的user.Java里设定了一个moneyupdate方法,用方法中if判断语句来对积分事件进行判定,从而完成该功能实现的。 3.2.2 订单处理模块 本模块包括了用户的购买记录功能和管理员的消费记录功能,其功能是让顾客和店主能够自己查询已购书本记录和消费订单记录。该模块的功能示意图如图3-6所示。 (1)购买记录功能 该功能让用户在该用户的账户管理中,能够实现用户对自己购买书籍记录的查看。而且还能够实现购买记录的电子报表导出,并且能够完成该页面的打印功能。 该功能在设计的时候,考虑到用户需要对自己购买书本的详细情况进行了解或查询,所以需要有个导出电子报表的功能,好让用户对个人购书记录的情况有个直观了解,而在便于用户对购买记录的即时保存上,本系统在购买记录功能界面添加了打印记录功能。在这两个功能的辅助下,使得用户在对购买记录的查询和保存上有了一定的保障措施。在打印代码的设计时,是由querylistaction.Java实现的,里面运用了if语句来对消费记录为空进行判断,而且其中调用了buybooklist.Java中的getquerylist方法,来对消费记录表进行读取,从而实现打印功能。 (2)消费记录功能 消费记录功能说明:该功能是让管理员在登录之后,对所有顾客消费记录的查看。其中的查询功能能够根据书名和用户的id号来查询相应书籍的详细记录,而且能够实现购买记录的电子报表导出,也能够完成该页面的打印功能。 现在介绍下消费记录功能中电子报表导出的功能。设计此功能是为了方便管理员更直观的查看消费记录清单。它能够根据消费记录导出一张excel表,包括了用户id,书籍名,购买数量,购买价格和购买时间这些重要信息的导出。在代码设计中,报表导出的功能主要是用Javabean里面的excelparse.Java来实现,在这个类里,调用了writeexcel这个方法,运用case语句来对excel表导出进行判断来完成此功能。 Excel表导出功能核心代码: //这个是导出excel,一个workbook就相当于一个excel文件: HSSFWorkbook wb = new HSSFWorkbook(); //一个sheet就是excel里面的一个sheet: HSSFSheet s = wb.createSheet(); //然后为sheet设置名字 wb.setSheetName(0, "购买记录", (short) 1); //这个是表格的标题,只是定义,还没放到里面去 String title[] = { "用户ID", "书籍名", "购买数量", "购买价格", "购买时间" }; //循环写入title: for (short i = 0; i < title.length; i++) { //新建一行: HSSFRow row = s.createRow(0); //新建一个cell: HSSFCell cell = row.createCell(i); //设置编码和值: cell.setEncoding((short) 1); cell.setCellValue(title[i]); } BuyBookList bbl = new BuyBookList(); //循环列表中的书,然后把内容写进去: for (short i = 1; i < list.size() + 1; i++) { bbl = (BuyBookList) list.get(i - 1); //新建一行: HSSFRow row = s.createRow(i); //循环5列: for (short j = 0; j < 5; j++) { switch (j) { case 0: //第一列写入user_id HSSFCell cell = row.createCell(j); //新建cell cell.setCellValue(bbl.getuser_id()); //写入值 break; case 1: //第二列写入bookname cell = row.createCell(j); cell.setEncoding((short) 1); cell.setCellValue(bbl.getbook_name()); break; case 2: //num cell = row.createCell(j); cell.setCellValue(bbl.getnum()); break; case 3: //price cell = row.createCell(j); cell.setCellValue(bbl.getprice()); break; case 4: //buydate cell = row.createCell(j); cell.setCellValue(bbl.getbuydate()); break; } } } | ||||||||||
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT | ||||||||||
本文选自计算机毕业设计http://myeducs.cn |