论文无忧网提供:计算机毕业论文范文|计算机毕业设计|计算机毕业论文
栏目导航 ASP JSP .NET VB6.0 JAVA VC VF DELPHI PB 计算机网络 计算机科学与技术 PHP 安卓APP 其他 C# 代写论文
当前位置: > 计算机 > JAVA >

网上书店--在线购物及统计分析(论文+程序)

由于购物车是本系统的重要部分,所以下面详细介绍一下此功能的实现和核心代码。

内容来自www.paper51.com

在设计购物车功能的时候,要实现购物车所必要的几个功能有以下几种,一是选择购书数量功能,二是购书提交功能,三是在购物车里面显示图书的详细情况,包括作者和价钱等相关信息,还有就是考虑到用户在已经将要购买的图书放入购物车后,当该用户浏览网页发现有比此本图书或几本图书更有购买价值之后,那么就应该在购物车里面添加一个单本删除已选图书或几本图书的删除功能。 paper51.com

在购物车功能前台页面代码开发的时候,本人对页面的跳转做了以下的设定。首先在进入书本详细介绍页面的时候,在次页面下添加了选择购书数量的功能,在点击“购买”后,页面返回到主页面,在再次进入到购物车页面后,购物车页面显示了刚才选中图书的详细情况,并且在此有删除该本图书的功能,在点击“提交”后,完成该本书籍的网上购买,系统自动在该用户的余额中扣去相应金额。

内容来自论文无忧网 www.paper51.com

在代码开发中,购物车的功能是由几个类共同完成。Buybookaction.Java类是完成购物车图书详情的功能,并显示所选书籍的user_id,book_id,buynum,和bookname,并且将bookname转码成标准的gb2312格式。而delbuycartaction.Java类是购物车中的删除已选图书的功能,它调用了Javabean中的db.Java的逻辑处理方法, 完成了对单本图书和多本图书删除功能的实现。在前台buycart.JSP页面的代码中,也加入了一些判断语句,对购物车界面的一些操作进行对话框提示,让页面更具友好化。

内容来自论文无忧网 www.paper51.com

购物车表单功能核心代码: paper51.com

// request.getParameter是从页面上获取输入的内容 paper51.com

 String user_id =request.getParameter("user_id"); paper51.com

        Stringbook_id = request.getParameter("bookid");

paper51.com

        Stringnum = request.getParameter("buynum");

paper51.com

        Stringbookname = "";

copyright paper51.com

        try{

paper51.com

        //将bookname转码

copyright paper51.com

    bookname=newString(request.getParameter("bookname").getBytes(

paper51.com

                    "ISO-8859-1"),"gb2312");

http://www.paper51.com

        }catch (UnsupportedEncodingException e) {

paper51.com

            //TODO Auto-generated catch block

内容来自www.paper51.com

            e.printStackTrace();

http://www.paper51.com

        }

http://www.paper51.com

    // 新建一个arraylist的列表 copyright paper51.com

        ArrayListbuybooklist = new ArrayList(); paper51.com

    //设置一些信息,如:user_id等,放进BuyBookList copyright paper51.com

        BuyBookListblist = new BuyBookList(); paper51.com

        blist.setuser_id(user_id);

内容来自论文无忧网 www.paper51.com

        blist.setbook_id(book_id);

内容来自论文无忧网 www.paper51.com

        blist.setnum(num);

http://www.paper51.com

        blist.setbook_name(bookname);

copyright paper51.com

        blist.setprice(request.getParameter("price"));

paper51.com

删除书籍功能核心代码: 内容来自www.paper51.com

try {   copyright paper51.com

        //从页面获取参数:

内容来自www.paper51.com

            Stringbid[] = request.getParameterValues("bid");

内容来自论文无忧网 www.paper51.com

            intn = 0;

copyright paper51.com

        //从全局容器中拿到书的列表:

paper51.com

            ArrayListbuybooklist = (ArrayList) session

copyright paper51.com

                    .getAttribute("buybooklist"); http://www.paper51.com

            System.out.println(bid[bid.length- 1]);

内容来自论文无忧网 www.paper51.com

        //这里是把列表中的书删除掉,这个action是做删除的动作,拿到了用户选择的书的id的数组(多本书)bid,然后根据id去把列表中的书删除掉:

paper51.com

            for(int i = bid.length - 1; i >= 0; i--) { copyright paper51.com

                n= Integer.parseInt(bid[i]); 内容来自论文无忧网 www.paper51.com

                buybooklist.remove(n);

paper51.com

            }

内容来自www.paper51.com

        //把删除后的列表放到容器中:

内容来自论文无忧网 www.paper51.com

            session.setAttribute("buybooklist",buybooklist); 内容来自www.paper51.com

        //如果列表中没书了,就不要放到容器中,用remove移除:

copyright paper51.com

            if(buybooklist.size() == 0) { http://www.paper51.com

                session.removeAttribute("buybooklist"); paper51.com

                System.out.println("nullnull**********"); copyright paper51.com

            } paper51.com

        //跳转页面: 内容来自论文无忧网 www.paper51.com

            pageForward= "delbuycart";

内容来自论文无忧网 www.paper51.com

(2)充值管理功能 内容来自论文无忧网 www.paper51.com

本模块是为了方便书店店主以管理员身份进入后台管理界面进行充值操作而设计的,即当顾客在查询到自己余额不足的情况下,通过某种方式与店主取得联系并在网站外完成金额交易(比如:汇款),然后店主以管理员的身份进入到后台管理中的会员充值模块中,选中顾客id后,根据需要对该用户充值相应的金额。

paper51.com

本功能在设计的时候,是将此功能设定在后台管理员界面中用户管理模块里面,方便管理员在对用户信息充值的时候好对用户信息进行查看。在设计充值的时候,调运了user.Java里面的addmoney方法来实现充值功能,为了使管理员能够及时查看到充值过后用户余额的变化,在页面显示了用户的当前余额,并在界面设计中的addmoney.JSP代码中设置了一些对管理员操作的判断,给予一些友好提示。 http://www.paper51.com

3.2.2    统计分析模块 内容来自论文无忧网 www.paper51.com

本模块包括了排行榜功能和积分管理功能两大功能,其功能主要是指顾客对本系统书籍的点击数,购买数和积分事件实行的页面实现功能。该模块的功能图如图3-4所示。

内容来自www.paper51.com

http://www.paper51.com

内容来自论文无忧网 www.paper51.com

(1)排行榜功能介绍

内容来自www.paper51.com

排行榜功能说明:排行榜模块的实现是为了方便顾客在浏览本网站图书时,给予顾客选购图书起到一定的推荐作用。本排行榜模块包括了总的点击排行榜,总的销售排行榜,还有日点击排行榜跟周点击排行榜。下面是排行榜界面图, 如图3-5所示。 paper51.com

内容来自www.paper51.com

图3-5  排行榜功能界面图 内容来自www.paper51.com

排行榜在本系主要模块统统计分析模块中占有重要地位,下面就来详细讲解以下排行榜功能的实现和核心代码。

copyright paper51.com

排行榜功能在设计的时候,考虑到不同用户的爱好,就设定了有总的销售排行榜,总的点击排行榜,周排行榜和日排行榜,在周排行榜和日排行榜都运用了一个系统监听的方法来对时间周期进行判定,从而实现这两个排行榜特殊功能的,在总销售排行榜里,每本书籍后都有销售的数量数,在三个点击排行榜里,每本书后也有点击数显示。本功能的实现是在各个排行榜排列主页面的右方,并运用了下拉滚动条来实现的。 http://www.paper51.com

在代码中,排行榜的完成是由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方法,它实现了日排行榜和周排行榜中时间的判定。

copyright paper51.com

系统监听器实现的核心代码: 内容来自论文无忧网 www.paper51.com

public void contextInitialized(ServletContextEventevent)

内容来自论文无忧网 www.paper51.com

  {//在这里初始化监听器,在tomcat启动的时候监听器启动,可以在这里实现定时器功能 copyright paper51.com

      timer = newTimer(true); 内容来自论文无忧网 www.paper51.com

     event.getServletContext().log("定时器已启动");//添加日志,可在tomcat日志中查看到 copyright paper51.com

     timer.schedule(new exportHistoryBean(event.getServletContext()),0,60*60*1000);//调用exportHistoryBean,0表示任务无延迟,5*1000表示每隔5秒执行任务,60*60*1000表示一个小时。 paper51.com

     event.getServletContext().log("已经添加任务");

内容来自论文无忧网 www.paper51.com

  } http://www.paper51.com

  publicvoid contextDestroyed(ServletContextEvent event) 内容来自www.paper51.com

  {//在这里关闭监听器,所以在这里销毁定时器。

内容来自论文无忧网 www.paper51.com

      timer.cancel();

paper51.com

      event.getServletContext().log("定时器销毁");

内容来自论文无忧网 www.paper51.com

  } paper51.com

(2)积分管理功能 内容来自论文无忧网 www.paper51.com

积分管理模块中的积分查询是让顾客能够查询到自己的积分情况,本系统中的积分事件功能是当你注册成为会员用户后,在购买书籍金额累计到500元过后(本系统消费一元就等于加积分一点),系统自动将该会员用户升级成vip用户,vip用户享受购书8折优惠。

内容来自论文无忧网 www.paper51.com

在设计该部分时,鉴于该功能的特性,该功能是不能以功能键放置到页面,因此没对该功能做界面设计,便在开发代码的时候,在Javabean中的user.Java里设定了一个moneyupdate方法,用方法中if判断语句来对积分事件进行判定,从而完成该功能实现的。

paper51.com

3.2.3    订单处理模块 copyright paper51.com

本模块包括了用户的购买记录功能和管理员的消费记录功能,其功能是让顾客和店主能够自己查询已购书本记录和消费订单记录。该模块的功能示意图如图3-6所示。

http://www.paper51.com