毕业设计(论文)-在线购物车系统的设计与实现.doc_第1页
毕业设计(论文)-在线购物车系统的设计与实现.doc_第2页
毕业设计(论文)-在线购物车系统的设计与实现.doc_第3页
毕业设计(论文)-在线购物车系统的设计与实现.doc_第4页
毕业设计(论文)-在线购物车系统的设计与实现.doc_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

南京邮电大学高等教育自学考试南京邮电大学高等教育自学考试 专接本专业专接本专业 毕毕 业业 设设 计计 ( (论文论文) ) 设计题目:在线购物车系统的设计与实现 专科学校 淮安信息职业技术学院 姓 名 准考证号 本科专业 指导教师 完成日期 2015 年 4 月 30 日 声声 明明 本人郑重声明: 1持以“求实、创新”的科学精神从事研究工作。 2本论文是我个人在导师指导下进行的研究工作和取得的 研究成果。 3本论文中除引文外,所有实验、数据和有关材料均是真 实的。 4本论文中除引文和致谢的内容外,没有抄袭其他人或其 他机构已经发表或撰写过的研究成果。 5其他同志对本研究所做的贡献均已在论文中作了声明并 表示了谢意。 作者签名: 日 期: 摘 要 随着信息技术的高速发展和 Internet 的不断普及。人们对于互联网技术的要 求不仅是浏览一下网页,收发电子邮件。日益忙碌的人们开始追求足不出户的利用 互联网这一强大的平台来实现的网上购物,如网上订餐,网上订票,网上药店等。 对于企业来讲,无论是企业之间(B to B),还是企业和客户之间(B to C)的交易, 如果能够实现网上交易将大大提高交易速度节约交易成本。 本文设计了基于 JSP 的在线购物车系统,整个开发环境是基于 windows 系统下 的,运用的技术包括:B/S 模式,MVC 三层架构的思想, Servlet/JSP、JDBC、MySQL 等。使用的工具有 MySQL5.0 作为数据库平台, Tomcat6.0 作为服务器,JSP 作为前台页面显示,实现了应用逻辑和页面分离使得 界面设计更简单。在线购物车系统模拟了网上购物的基本功能,实现了产品的浏览, 购物车管理,订单管理等功能。在在线购物车系统中,顾客可以很方便的对商品进 行浏览检索,查看商品的详细资料。然后根据各人的喜好购买心仪的商品,系统会 自动为顾客生成订单,按照顾客索填写的信息提交订单并发货。 关键词:B/S 模式; JSP; Servlet; MySQL Abstract With the rapid development of information techniques and the continuous spread of Internet.People not only to the requirement of the Internet technology is browsing the web, send and receive email.Increasingly busy people begin to pursue the housebound use the Internet this a powerful platform for online shopping,such as online order,online booking,online pharmacies,etc.For the enterprise,Whether between enterprises (B to B), or between companies and customers (B to C),If can realize online trading will greatly improve the speed to save transaction cost. This paper design based on JSP online shopping cart system,Under the development environment is based on Windows system,Using the techniques include:B/S mode,The thought of the MVC three-tier architecture,The Servlet/JSP, JDBC, MySQL, etc.The tools used have MySQL5.0 as the database platform,Tomcat6.0 as a server,The JSP as the front desk page displays,Realize the separation of application logic and page makes the interface design is more simple.The basic function of an online shopping cart system to simulate the online shopping,Realized product browsing, shopping cart management, order management, and other functions.In the online shopping cart system,Customers can easily browse the retrieval,View the details of the goods.The right and then the be fond of according to each purchase the goods,The system will automatically generate orders for customers,According to the customer fill in the information submitted to the order and delivery. Keywords: B/S; JSP; Servlet; MySQL 目 录 第一章 绪论.1 1.1 课题背景 .1 1.2 网上购物的发展状况 .1 1.3 项目提出的意义 .2 1.4 本课题主要研究内容 .2 1.5 论文结构.2 第二章 系统所采用的技术.4 2.1 MVC 设计模式和 B/S 系统架构 .4 2.1.1 MVC 设计模式.4 2.1.2 B/S 系统架构.5 2.2 JavaScript 技术 .5 2.3 JSP 技术 .5 2.4 MySQL 数据库技术 .6 2.5 通过 JDBC 对数据库进行访问 .7 2.6 本章小结.7 第三章 系统需求分析.8 3.1 系统的可行性研究 .8 3.1.1 社会可行性.8 3.1.2 技术可行性.8 3.2 需求分析 .8 3.2.1 业务需求分析.9 3.2.2 用户需求分析.9 3.2.3 功能需求分析.9 3.2.4 运行环境和开发工具.11 3.3 本章小结 .12 第四章 系统设计.13 4.1 总体设计和详细设计概述 .13 4.2 系统结构设计 .13 4.3 功能模块设计 .14 4.3.1 用户管理模块.14 4.3.2 商品信息管理模块.15 4.3.3 购物车模块.15 4.3.4 订单管理模块.16 4.4 类的设计 .17 4.5 数据库设计 .18 4.5.1 数据库的分析.18 4.5.2 数据库概念模型设计.19 4.5.3 数据逻辑结构设计.20 4.5.4 数据库基本表的设计.21 4.6 本章小结 .22 第五章 系统实现.23 5.1 系统注册登录功能的实现 .23 5.1.1 用户注册.23 5.1.2 用户登录.25 5.2 用户管理功能的实现 .26 5.3 商品信息管理功能的实现 .29 5.4 购物车功能的实现 .33 5.5 订单管理功能的实现 .37 5.6 本章小结.38 第六章 系统测试.39 6.1 系统测试原则 .39 6.2 测试方法 .39 6.3 本系统的测试 .40 6.4 本章小结 .42 第七章 总结与展望.43 致 谢.44 参考文献.45 南京邮电大学 2013 级毕业论文 1 第一章 绪论 随着互联网的快速发展,电子商务成为了主要的商业交易模式,网上购物是电 子商务的一种基本形式,这个流行于二十一的购物方式已经被越来越多的人所接受 1.1 课题背景 近年来,随着 Internet 的快速发展和普及化,使 Internet 成为报刊、电视、 广播等传统媒体之后而兴起的一种新传媒介质,人们对于互联网技术的需求已不仅 仅是浏览网站,收发电子邮件 。日益忙碌的人们开始追求足不出户就可以购买所 需的商品。网上商城购物成了一种新型而热门的购物方式应运而生。 在互联网日益流行的今天,网络是主角,是时代的宠儿。在网络大家族中,电 子商务则是一个热点。电子商务一个最基本体现就是网上购物,从一定程度上讲它 就是网上超市,也就是一种网上销售。“网”字意味着它具有信息时代的快捷方便 等特征。事实上电子商务的出现,给消费者的地位,消费观念带来了重要的变化。 网上购物系统作为 B2B(Business to Customer) ,B2C(Customer to Customer)前端商务平台,在其商务活动中起到举足轻重的作用,本文主要考虑的 是如何实现基于 JSP 的在线购物车系统。 购物网站及购物车实现这一课题,是应用前景非常广阔的,它的解决方法不仅 可以针对购物网站,同样可以应用于多种多样的网站建设。 1.2 网上购物的发展状况 在我国,网上购物从无到有也不过短短几年时间。我国第一家网上购物发生在 1996 年,燕莎友谊商场首次通过网上商城售出一个景泰蓝,虽然货款的支付不是 在网上进行的,但这毕竟为我国零售业奏出了网上购物的先声。根据 CNNIC 的统计 结果,截止 2004 年 1 月中国有互联网用户 7950 万人,而又有 40.7%以上的网民在 过去的一年里有过网上购物经历,这就说明中国有网上购物的用户达是 3235.7 万 人,并且这一数字还在以 17%左右的速度增长,到 2006 年中国网上购物用户将达 到 6962 万人,这说明在中国发展网上购物具有良好的群众基础,网上购物方式正 逐渐被大家所接受。 南京邮电大学 2013 级毕业论文 2 1.3 项目提出的意义 自我国加入 WTO 后,越来越多的传统企业进一步认识到企业经济发展的必然趋 势是以网络化、全球化为主要特征。而企业实行电子商务则成为企业发展与国际接 轨的必要条件。多年来国家十分重视企业的信息化建设,并做了大量工作,但目前 企业开始实施信息化的比例还不到 20%。所以电子购物网站的实现是一个非常迫切 的需求。 现代的网络,已经经历过迅速发展的时期,它的技术也已经相当成熟。因此, 依靠网络技术来架设一个网站会在很多方面得到相关的支持。 现在的网络对于人们来说,已不再是单单获得信息的意义,更反应了现代人生 活的理念,更为重要的是成为企业与商家宣传产品,介绍自身的平台。因为现代社 会愈发的依赖于网络,特别是“万维网”,为企业或商家量身设计一个网站被默认 为必不可少的事情。利用电子商务的模式,在介绍推广自己的同时,以新的一种渠 道销售自己的产品,也愈发被关注。 因此,设计一个具有电子商务功能的企业网站具有非常好的开发与应用前景。 1.4 本课题主要研究内容 随着网络技术的发展,特别是电子商务的普及和应用,开发一套简单实用的网 上商城可谓当务之急。本文主要研究如何实现以下内容 : 实现用户和管理员的登录以及用户的注册。 实现管理员对用户的管理。 实现购物车的功能。 实现订单模块的管理。 1.5 论文结构 本文分为七章,通过对购物网站的分析,设计与实现的过程的全面介绍来展示 系统的全部特性。 第一章 绪论,描述了课题背景、网上购物的发展状况、项目提出的意义,进 而总结出此次课题的主要研究内容。 第二章 相关技术,系统设计中一些相关技术的简介。 南京邮电大学 2013 级毕业论文 3 第三章 系统分析,首先从几个角度阐述了系统开发的可行性,然后进行了系 统的功能需求分析。 第四章 系统设计,在明确系统需求的情况下,对各个功能进行模块化设计。 第五章 系统实现,这一阶段是编码阶段,对各个模块进行具体实现。 第六章 系统测试,对系统进行了三方面的测试,以此确保系统的正确性。 第七章 总结与展望 南京邮电大学 2013 级毕业论文 4 第二章 系统所采用的技术 本章对设计与实现在线购物车系统所采用的技术进行概要简述,主要包括 MVC 设计模式,B/S 系统架构、JavaScript 技术,JSP 技术,MySQL 数据库以及通过 JDBC 接口访问数据库。 2.1 MVC 设计模式和 B/S 系统架构 2.1.1 MVC 设计模式 MVC 设计模式是一种流行的软件工程架构模式,它把系统分为三个基本部分: 视图层(View) 、模型层(Model)和控制层(Control)。这三个部分以最少的耦合 协同工作,从而提高应用的可扩展性和可维护性。MVC 的结构如图 2-1。 图 2-1 MVC 的结构图 首先控制器接受用户的请求,并决定应该调用哪个模型来处理;然后模型根据 用户请求进行相应的业务逻辑处理,并返回数据;最后控制器调用相应的视图格式 化模型返回的数据,并通过视图呈现给客户。总的来说,MVC 设计模式具有以下有 点: 首先,最重要的是是多个视图能共享一个模型,提高了代码的可重用性。 南京邮电大学 2013 级毕业论文 5 由于 MVC 的三个模块相互独一,改变其中一个不会影响其它两个,所以依据 这种设计思想能构造良好的松耦合的构件。 此外,控制器提高了应用程序的可配置性和灵活性。可用来连接不同的视图 和模型去完成用户需求,这样控制器可以为构造应用程序提供有力的手段。 2.1.2 B/S 系统架构 网上的购物基于 Web 系统,传统的 C/S 架构已经不能满足大量的用户访问及操 作。B/S 是是浏览器/服务器英文的简写,具体的结构是浏览器 UserDAO dao=new UserDAO(); User user=dao.findUserByusername(username); if(user=null) user=new User(); user.setUsername(request.getParameter(username); dao.add(user); response.sendRedirect(registSuccess.jsp); else request.setAttribute(regist_error, 用户名已经存在); request.getRequestDispatcher(register.jsp).forward(request,re sponse); 为了便于网站对用户的管理,在 register.jsp 用户注册页面接收到的注册信 息要经过严格的过滤,保证注册用户名的唯一性,在提交表单后需要对数据表中的 数据进行查询,如果没有找到,则在插入数据表时提示注册成功,否则提示此用户 已被占用请重新注册。用户注册的流程图如图 5-2 所示。 开开始始 合合法法性性检检查查 是是否否合合法法 登登录录/注注册册界界面面 输输入入用用户户名名和和密密码码 登登录录到到用用户户界界面面 结结束束 填填写写用用户户信信息息 是是否否合合法法 注注册册成成功功后后返返回回登登录录 是是 否否 是是 否否 图 5-2 用户注册流程图 南京邮电大学 2013 级毕业论文 25 5.1.2 用户登录 用户登录模块相对来说比较简单,当用户输入用户名及密码后点击登录,系统 将会把登录信息发送给服务器,服务器根据浏览器的请求,执行相应的组件,完成 用户身份的验证,如果验证通过,则显示系统的主界面,用户将可以浏览商品。如 果用户验证身份不成功,则提示用户输入的信息不正确,并且停留在登录界面。另 外,在线购物网站需要很高的稳定性和安全性,因此对用户名的约束是不允许使用 恶意的代码作为用户名。 启动服务器,在浏览器里输入相应的地址( 在本机上输入: http:/localhost:8080/ShoppingCart),进入系统主界面,也就是登录界面,如 图 5-3 所示: 图 5-3 用户登录界面 Action 中相关代码如下: if(path.equals(/login) String username=request.getParameter(username); String pwd=request.getParameter(pwd); UserDAO dao=new UserDAO(); User user=dao.findUserByusername(username); if(user!=null response.sendRedirect(list.do); else 南京邮电大学 2013 级毕业论文 26 request.setAttribute(login_error, 用户名或密码出错); request.getRequestDispatcher(login.jsp).forward(request, response); 5.2 用户管理功能的实现 查询用户信息模块用来完成对已登录用户的浏览、修改以及删除功能。单击导 航区中的“用户管理”超链接进入用户管理页面,就可以看到用户信息。在这一部 分的设计中,也使用了分页显示功能。对于一些恶意用户只需要单击右侧的“删除” 超链接进行删除操作。若需要对用户的资料进行修改,可以点击“修改”超链接来 完成用户资料的修改。用户管理的详细流程图如图 5-4 所示。 管管理理员员点点击击用用户户管管理理 是是否否为为空空 显显示示用用户户信信息息 修修改改/删删除除 更更新新数数据据库库操操作作 更更新新成成功功 修修改改/删删除除成成功功 开开始始 结结束束 修修改改/删删除除失失败败 没没有有该该用用户户 否否 是是 是是 是是 否否 否否 图 5-4 管理员管理用户实现流程图 1.用户查看: 南京邮电大学 2013 级毕业论文 27 启动服务器,在浏览器里输入相应的地址( 在本机上输入: http:/localhost:8080/ShoppingCart/userList.user),进入用户列表页面,如 图 5-5 所示: 图 5-5 查询用户列表界面 主要代码如下: if(path.equals(/userList) UserDAO dao = new UserDAO(); HttpSession session=request.getSession(); List userList = new ArrayList(); if(session.getAttribute(userType).equals(0) userList = dao.queryAllUser(); else Integer userId= (Integer) session.getAttribute(userId); userList.add(dao.queryUserById(userId); request.setAttribute(userList,userList); request.getRequestDispatcher(userManager.jsp).forward(request ,response); 南京邮电大学 2013 级毕业论文 28 2.用户修改: 点击某个用户右侧的“修改”超链接,进入用户修改界面,完成用户的修改操 作。用户修改界面如图 5-6 所示: 图 5-6 用户修改界面 主要代码: if(path.equals(/update) UserDAO dao = new UserDAO(); User user = new User(); user.setRealname(request.getParameter(realname); user.setRole(request.getParameter(usertype); user.setId(Integer.parseInt(request.getParameter(id); dao.updateUser(user); response.sendRedirect(userList.user); 3.用户删除: 点击某个用户右侧的“删除”超链接,完成对恶意用户的删除操作。 主要代码: if(path.equals(/del) UserDAO dao = new UserDAO(); int id=Integer.parseInt(request.getParameter(id); dao.delUser(id); response.sendRedirect(userList.user); 南京邮电大学 2013 级毕业论文 29 5.3 商品信息管理功能的实现 该模块用于实现管理员和卖家对商品的管理。依据权限的不同,管理员拥有管 理所有商品的权限,而卖家只可以对本店的商品进行管理。用户点击某一商品右侧 的“修改” 、 “删除”的超链接,可以完成对商品的相应操作。商品管理的详细流程 图如 5-7 所示: 管管理理员员/卖卖家家点点击击商商品品管管理理 是是否否为为空空 显显示示商商品品列列表表 修修改改/删删除除 更更新新数数据据库库操操作作 更更新新成成功功 修修改改/删删除除成成功功 开开始始 结结束束 修修改改/删删除除失失败败 没没有有该该商商品品 否否 是是 是是 是是 否否 否否 图 5-7 商品信息管理流程图 1.商品查看: 启动服务器,在浏览器里输入相应的地址(在本机上输入: http:/localhost:8080/ShoppingCart/list.goods) ,进入用户列表页面,如图 5-8 所示: 南京邮电大学 2013 级毕业论文 30 图 5-8 商品信息列表界面 主要代码: Action 中相关代码: if(path.equals(/list)/判断请求地址 HttpSession session= request.getSession(); Integer userId = (Integer) session.getAttribute(userId); Page page = new Page(); String currentPage = ( request.getParameter(currentPage); if(currentPage!=null) page.setCurrentPage(Integer.parseInt(currentPage); page.setTotalcount(dao.queryAllAccount(userId); List computers=dao.findbySellerId(userId,page); request.setAttribute(computers,computers); request.setAttribute(page,page); request.getRequestDispatcher(goods.jsp).forward(request, response); 南京邮电大学 2013 级毕业论文 31 2.商品添加: 点击页面下方的“上架商品”的超链接,进入商品添加的界面,完成对商品添 加的操作。商品添加界面如图 5-9 所示: 图 5-9 新增商品信息界面 主要代码: if(path.equals(/addGoods) Goods computer = new Goods(); HttpSession session=request.getSession(); computer.setModel(request.getParameter(model); computer.setProdDesc(request.getParameter(prodDesc); computer.setPrice(Double.parseDouble(request.getParameter(price); computer.setPic(String)session.getAttribute(fileName); computer.setSellerId(Integer) session.getAttribute(userId); computer.setCategoryId(Integer.parseInt(request.getParameter(category); dao.addGoods(computer); response.sendRedirect(list.goods); 3.商品修改: 点击某一商品右侧的“修改”超链接,跳转到商品修改界面,完成对商品修改 操作。商品修改界面如图 5-10 所示: 南京邮电大学 2013 级毕业论文 32 图 5-10 修改商品信息界面 主要代码: if(path.equals(/updateGoods) Goods computer = new Goods(); HttpSession session=request.getSession(); computer.setId(Integer.parseInt(request.getParameter(id); computer.setModel(request.getParameter(model); computer.setProdDesc(request.getParameter(prodDesc); computer.setPrice(Double.parseDouble(request.getParameter(price); computer.setCategoryId(Integer.parseInt(request.getParameter(category); if(request.getParameter(isupload).equals(0) computer.setPic(request.getParameter(pic); else computer.setPic(String)session.getAttribute(fileName); dao.updateGoods(computer); response.sendRedirect(list.goods); 4.商品删除: 用户点击某一商品右侧的“删除”超链接,可以完成对商品的删除操作。 南京邮电大学 2013 级毕业论文 33 主要代码: if(path.equals(/del) try dao.delGoods(Integer.parseInt( request.getParameter(id); catch (SQLException e) e.printStackTrace(); throw new ServletException(e); response.sendRedirect(list.goods); 5.4 购物车功能的实现 购物车模块中,主要包含以下几个功能,即:添加选购的新商品、更新选购商 品的数量、生成订单、自动生成商品总价格和清空购物车。 购物车的具体功能: 1、添加选的购新商品 添加购物车就是把用户选中的商品暂时存放在购物车中,当用户在前台首页中 单击商品展示区的“购买”按钮时,系统会将该商品的详细信息展示在查看购物车 页面中。 添加商品的代码流程是从 session 中读取 cart 对象,如果为空则说明还没有 进行购物或者已经清空了购物车,需要新建购物车对象;将商品名称与购物车列表 中的商品名称对比,如果已经存在,则把商品数量加 1。 在这段代码流程中,还使用了集合类型。集合类型在 Java 中又称为向量,可 以加入重复数据,它的作用和数组相同,可以保存一系列数据,但集合类型也有它 独特的优点,就是可以方便地对集合内的数据进行查找、增加、删除和修改等操作。 主要代码: if(path.equals(/buy) int id=Integer.parseInt(request.getParameter(id); ComputerDAO dao=new ComputerDAO(); Goods c=dao.findComputerById(id); /将商品封装成一个商品条目对象(CartItem) CartItem item=new CartItem(); item.setC(c); 南京邮电大学 2013 级毕业论文 34 item.setQty(1); HttpSession session=request.getSession(); Cart cart=(Cart)session.getAttribute(cart); if(cart=null) /如果第一次购买,则创建购物车,并绑定到 session 对象上。 cart=new Cart(); /尝试查找名叫 cart 的 cookie,恢复之前的商品 cart.load(CookieUtil.findCookie(cart, request); session.setAttribute(cart, cart); /把商品添加到购物车 boolean flag=cart.add(item); if(flag) /没有购买过商品,返货到商品列表, /将 cart 中的数据以 cookie 的形式备份到客户端 CookieUtil.addCookie(cart, cart.store(), response); response.sendRedirect(list.do); else /已经购买过该商品,则提示用户 request.setAttribute(buy_msg_+c.getId(), 已经购买过该商品); request.getRequestDispatcher(list.do).forward(request, response); 2、查看购物车 为了方便用户随时查看购物情况,在网站的首页加入了查看购物车的链接,通 过它可以将用户所有选中的商品信息放入购物车中显示出来。另外,在程序中使用 了一个文本框记录用户购买的商品数量,用户可以在文本框中输入想要购买的数量 然购单击“修改”按钮。如果欲删除该商品,可以在数量文本框里输入“0” ,并需 要单击“修改”按钮来更新购物车中商品的数量。 南京邮电大学 2013 级毕业论文 35 系统每次只会将 1 个商品放入购物车中,如果用户需要多个同种商品,可以通 过修改商品信息右侧相应文本框的值来完成。操作完成后需要通过单击“修改”按 钮来保存操作。 查看购物车界面如图

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论