已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中北大学2013届毕业设计说明书毕业设计说明书基于JavaEE技术的钻戒网上销售系统的设计与实现班 级: 学号: 软件学院姓 名: 软件工程学 院: 专 业: 指 导 教 师: 2013年 6 月1 绪论近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念。网上购物系统作为B2B,B2C(Business to Customer,即企业对消费者),C2C(Customer to Customer,即消费者对消费者)电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。本文主要考虑的是如何建设B2C的网上购物系统。网上购物是一种具有交互功能的商业信息系统。它向用户提供静态和动态两类信息资源。所谓静态信息是指那些比经常变动或更新的资源,如公司简介、管理规范和公司制度等等;动态信息是指随时变化的信息,如商品报价,会议安排和培训信息等。网上购物系统具有强大的交互功能,可使商家和用户方便的传递信息,完成电子贸易或EDI交易。这种全新的交易方式实现了公司间文档与资金的无纸化交换。全套设计加扣 30122505822 中文摘要本系统研究了一种基于B/S结构的网上购物系统。其开发主要包括后台数据库的建立和维护以及前台页面的Web设计,对于前者要求建立起数据一致性和完整性、安全性的库;而对于后者则要求分类明确、使用户一目了然。基于商务网站的建设和web技术的发展,采用J2EE平台开发网上购物平台。在设计方面,本系统采用B/S三层结构,同时使用JSP技术进行动态页面的设计,从系统的安全性和代码的可重用性方面考虑,运用JavaBean对程序的关键代码进行封装。该平台采用Apache的tomcat6.0.32作为Web服务器,后端连接MySQL数据库;并且达到了功能明确、费用低廉、通用性强、适合我国国情的购物网站系统。文中着重论述了该系统的设计与实现,并对关键的技术做了较详细的介绍。本系统主要有四大模块:用户管理,商品管理,购物车,订单管理。在用户管理的用户注册模块中,特别加强了用户注册信息验证的严格性;并且规定只有注册成会员才能下订单,没有注册成会员的用户只能浏览商品。整个系统结构清晰,功能明确,页面风格鲜明,易操作,适合客户的需求;使交易能够更加方便和快捷。 关键词:B/S结构,JavaBean,JSP,购物系统3 英文摘要The system which is based on B / S structure of the online shopping system. Which mainly includes the establishment and maintenance of back-end database and front page of the Web design request for the establishment of data consistency and integrity, security library; and clear classification of the latter requires that the user at a glance. Based business website building and web technology, online shopping platform using J2EE platform. In the design, the system uses the B / S three-tier structure, JSP technology, dynamic page design, from system security and code reuse considerations, the key to the program using JavaBean code package. The platform uses the Apache Web server, as tomcat6.0.32, MySQL database back-end connectivity; and achieved features a clear, low cost, versatility, suitable for China shopping website system. The paper focuses on the design and implementation of the system, and the key technology to do a more detailed introduction. The system has four modules: user management, commodity management, shopping cart, order management. Users registered in the user management module, in particular, the user registration information to enhance the rigor of validation; and provides that only registered members can become an order, not registered as members of the user can only see the products. The entire system structure is clear, features a clear, distinctive style pages, easy to operate, suitable for the needs of customers; the transactions can be more convenient and fasterKey wordsB/S structure , JavaBean, JSP, shopping online目 录1 系统开发背景及意义61.1系统开发背景61.2系统开发意义62 系统可行性分析82.1 技术可行性82.2 社会可行性83 系统功能模块设计93.1 系统功能需求93.2 功能模块规划93.3 系统功能结构图103.4 系统设计103.4.1 设计目标103.4.2 开发环境103.4.3 数据库设计114 详细设计144.1 网站截图144.2 模块代码23参 考 文 献35致 谢361 系统开发背景及意义1.1系统开发背景随着计算机和网络的日趋普及,越来越多的商家在网上升起商店,向消费者展示出一片新鲜的购物大地。在美、日等信息化程度较高的国家和地区,网络商店发展速度迅猛,美国的世界级超一流的零售商,如沃尔玛凯玛特、家庭仓储、科罗格、J.C培尼等纷纷跻身于网络经商的行列。调查表明:美国的家庭已越来越习惯于在家中从网上购物。在我国,网上购物从无到有也不过短短几年时间。我国第一家网上购物发生在1996年,燕莎友谊商场首次通过网上商城售出一个景泰蓝,虽然货款的支付不是在网上进行的,但这毕竟为我国零售业奏出了网上购物的先声。如今,在北京、上海、深圳等大城市,已有200多家商场,专卖店开设了网上商店,还有一些正处在观望阶段。真正意义上的网上购物,即货款的结算在网上进行,已在国内实现。深圳无虹商场去年5月开办了我国第一家实行计单和支付一体上的网上商店,上网的消费者只要拥有一张招商银行的“一卡通”,便可轻松购物, 24小时内商家送货上门。商家投资网上商店目的是赚钱。但从目前网上商店的运营情况来看,上网者不购物、购物者不上网的现象非常普遍,网上生意渗淡已是目前各大网上商店共同的困惑。上海首家网上商店上海亿样购物中心由于经营不善,开业不到半年即关门停业,北京的一些大型零售商场,其网上商店“门庭冷落”。结算方式的原始落后是网上购物致命的弱点。在国外,计算机一般都与银行的帐户相联,消费者和网络商店只需和网上银行打交道,不必当面直接支取现金。在我国目前除淘宝、拍拍等几家网上商店进行网上购物结算外,大部分商家结算只能采取 “送货上门、到货付款”或“邮寄上门、贷款邮资先付”的方式。这样不但浪费了时间和人力,而且限制了网络的覆盖范围和商品的结构种类。因此,安全、快捷、方便的电子支付手段将是今后网上商店健康发展的主要要素。1.2系统开发意义投资少,回收快。一项针对中国中小企业的情况调查显示,个人在网下启动销售公司的平均费用至少5万元,而网上开店建店成本非常小。一般说,筹办一家网上的商店投入很小,不用去办营业执照,不用去租门面,不用囤积货品,所需资金不过1500元左右;网上商店比同等规模的地面商店“租金”要低得多,同时租金不会因为营业面积的增加而增加,投资者也不用为延长营业时间而增加额外的费用。 基本不需要占压资金。传统商店的进货资金少则几千元,多则数万元,而网上商店则不需要压资金。 24小时营业时间。网上商店延长了商店的营业时间,一天24小时、一年365天不停地运作,无须专人值班看店,都可照常营业。传统店铺的营业时间一般为8-12小时,遇上坏天气或者老板、店员有急事也不得不暂时休息。 不受店面空间的限制。哪怕只是街边小店,在网上却可以拥有百货大楼那么大的店面,只要投资者愿意,可以摆上成千上万种商品。目前国内最大的专业拍卖网站同时在线的商品要超过10万件,已超过一些大超市。 不受地理位置影响。不管客户离店有多远,也不管顾客是国内还是国外,在网上,客户一样可以很方便地找到并购买商品。这令消费群体突破了地域的限制,变得无限广阔了。所以本系统是为了适应人们的需要而研究设计的.钻戒和多人都会用到.为了让需要的人更方便的购买.用户在进行注册登陆后,可以根据自己的需要选择合适的钻戒。2 系统可行性分析2.1 技术可行性由于电子商务网站的开发已有一定的时期,而且有很多成功的实例,技术基础也已经非常雄厚,因而技术上的准备应该不成问题。现在流行的网上购物系统不仅要有漂亮的网页,更要有严谨的规划,注重每一个细小的环节,这样才能使得在电子交易时避免不必要错误发生。我们将使用HTML、JSP等技术来编辑网页,并运用JDBC技术把数据库和动态网页相关联。本系统则采用较新的JSP技术,一方面JSP的安全性和跨平台性比较好,另一方面,我也希望能从开发该系统的过程中,深入学习一下这门编程语言。2.2 社会可行性电子商务网站是该企业运用Internet技术创造更多更高的经济效益的主要因素之一。对于网上销售尤为如此,所以本系统的效益是要可观的。3 系统功能模块设计3.1 系统功能需求通过对淘宝网,拍拍,当当等网上购物的认识和分析,我对网上购物有了基本的了解,我觉得该系统至少应该具有以下的一些基本功能:注册管理:能够对用户名、用户真实姓名、密码进行简单的验证;能够对Email进行有效性验证;能够防止已经注册的用户重复注册。商品浏览:分类、分级显示商品;显示商品详情,提供购买链接。浏览商品时不要求用户登录,但购买前用户必须登录。购物车管理:欲购买商品可以增添到购物车;也可以从购物车退回商品,清空购物车;可恢复已删除的商品;对于同一件商品的多次购买只能在原来的商品上增添数量,还可以修改购物车中某个商品的数量,统计商品总金额;可统计节省了多少金额。订单管理:只有登录的用户可下订单;用户填写订单地址信息时,可以选择以前用过的地址信息;用户下完订单后还可以继续浏览商品并选购。还可以对订单进行查询。3.2 功能模块规划网上购物系统是一个典型的JSP数据库开发应用程序,由交易系统的四大模块组成。四大模块:会员管理,商品管理,订单管理,购物车管理。交易系统:主要包括编辑推荐,新品上架、热销商品、销售排行、购物车、会员管理、商品公告、商品查询等。3.3 系统功能结构图钻戒销售网站前台后台订单记录会员注册货物信息管理会员信息显示货物列表购物车订单记录图 3.13.4 系统设计3.4.1 设计目标本系统在设计时应该满足以下几个目标:采用人机对话的操作方式,界面设计美观友好、信息查询灵活、方便、快捷、准确、数据存储安全可靠。全面展示商城内所有商品,并可展示最新商品及特价商品。为顾客提供一个方便、快捷的商品信息查询功能。采用层级列表显示商品类别。实现网上购物。商品销售排行,以方便顾客了解本商城内的热销商品及帮助企业领导者做出相应的决策。对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。系统最大限度地实现了易维护性和易操作性。系统运行稳定、安全可靠。3.4.2 开发环境硬件平台:CPU:2.00GHz;内存:2G。软件平台:操作系统:Windows 7;数据库:MySQL Server 5.5JSP服务器:Tomcat 6.0以上;浏览器:IE 8;分辨率:最佳效果1024768。3.4.3 数据库设计本系统数据库采用MySQL Server 5.5数据库,系统数据库名称为ligang,共包含6张表。表3.1 钻戒表(tb_Diamond)列名中文类型长度是否为空主键外键dno钻戒编号Int10否是dname钻戒名称Varchar10否darea产地Varchar20否dtno品牌编号Int20否dmessage钻戒信息Varchar255否dprice价格Varchar10否dnum库存Varchar255否dpic图片Blob255否buynum购买量Varchar255否表3.2 会员表(tb_Member)列名中文类型长度是否为空主键外键mno编号int20否是maccount账号Varchar20否mpass密码Varchar20否mname真实姓名Varchar20否mphone手机号Varchar20否memail邮箱Varchar20否表3.3 订单表(tb_Order)列名中文类型长度是否为空主键外键Ono订单号Int20否是Ofname发货人Varchar20否是Odate日期Varchar20否Ano编号Int20否是Sumprice订单总价Varchar20否Ostate状态Varchar20否表3.4 货物表(tb_Goods)列名中文类型长度是否为空主键外键Gno编号Int20否是Ono订单号Int20否是dname钻戒名称Varchar20否是gnum购买数量Varchar20否表3.5 地址表(tb_Address)列名中文类型长度是否为空主键外键Ano编号Int20否是Address地址Varchar255否Aname收货人Varchar20否Acode邮政编码Varchar20否Uphone手机Varchar20否Aloc本地/外地Varchar20否表3.6 品牌表(tb_type)列名中文类型长度是否为空主键外键tno编号Int20否是dtno类型编号Int20否是tname品牌名Varchar20否4 详细设计4.1 网站截图图4.1 前台主页图4.2 前台主页图4.3 后台主页图4.4 商品列表图4.5 会员登录图4.6 搜索图4.7 会员信息图4.8 商品列表图4.9 商品信息图4.10 购物车图4.11 结算中心图4.12 物品添加图4.13 订单查询图4.14 订单审核4.2 模块代码物品信息处理代码:public class DiamondAction extends ActionSupport implements ModelDrivenprivate static final long serialVersionUID = 1L;Diamond diamond=new Diamond();HttpServletRequest request;ValidateCode vCode = new ValidateCode(120,40,5,100);private File upload;/上传的文件。private String uploadFileName;/上传文件的名称。private String uploadContentType;/上传文件的类型。private String fileName;private int tno;private String tname;public String getTname() return tname;public void setTname(String tname) this.tname = tname;ResourceIDiamondService diamondService;ResourceITypeService typeService;List list;List listtype;public String add()tryimage();String str=this.getUploadFileName();String str1=str.substring(0,str.lastIndexOf(.);diamond.setDpic(str1);diamondService.add(diamond,tno);return success;catch(Exception e)e.printStackTrace();return error;public String image()throws Exception/得到上传的文件流。if(this.getUpload()=null)elseFileInputStream fis=new FileInputStream(this.getUpload();SuppressWarnings(deprecation)String path=ServletActionContext.getRequest().getRealPath(/upload);File outFile=new File(path+/+this.getUploadFileName();FileOutputStream fos=new FileOutputStream(outFile);/读取并写入文件。bytebuffer=new byte1024;int len=0;while(len=fis.read(buffer)!=-1)fos.write(buffer,0,len);return image;public String delete()trydiamond.setDpic(this.getUploadFileName();diamondService.delete(diamond.getDno();return success;catch(Exception e)e.printStackTrace();return error;public String update()if(this.getUpload()!=null)trySystem.out.println(11111111111tu);image();String str=this.getUploadFileName();String str1=str.substring(0,str.lastIndexOf(.);diamond.setDpic(str1);diamondService.update(diamond,tno);return success;catch(Exception e)e.printStackTrace();return error;elsetrydiamondService.nopic(diamond, tno);return success;catch(Exception e)e.printStackTrace();return error;public String selectByType()trylist=diamondService.selectByType();return getByTypesuccess;catch(Exception e)e.printStackTrace();return error;public String list()trylist=diamondService.selectByAll();return select;catch(Exception e)e.printStackTrace();return error;public String houtai()trylist=diamondService.selectByAll();return houtai;catch(Exception e)e.printStackTrace();return error;public String selectweb()try list=diamondService.selectByAll(); catch (Exception e) e.printStackTrace();return selectweb;public String stlist()trylist=diamondService.selectstlist(tname);return stlist;catch(Exception e)e.printStackTrace();return error;public String select()try list=diamondService.selectByAll(); catch (Exception e) e.printStackTrace(); return select;public String modselect()try listtype=typeService.selectByAll();diamond=diamondService.selectById(diamond.getDno();return modselect; catch (Exception e) e.printStackTrace();return error;public String selectgood()try listtype=typeService.selectByAll();diamond= diamondService.selectById(diamond.getDno(); catch (Exception e) e.printStackTrace();return selectgood;public String modgood()try listtype=typeService.selectByAll();diamond= diamondService.selectById(diamond.getDno(); catch (Exception e) e.printStackTrace();return modgood;public Object getModel() return diamond;订单处理代码:public class OrderAction extends ActionSupport implements ModelDrivenprivate static final long serialVersionUID = 1L;Order order=new Order();List list;List listaddress;HttpServletRequest request;private int ano;private String address;private String bdate;private String cdate;private String state;ResourceIOrderService orderService;ResourceIAddressService addressService;public String add()Date now = new Date();SimpleDateFormat formatter = new SimpleDateFormat(M/d/yyyy);try String odate = formatter.format(now); request = ServletActionContext.getRequest(); String fname=(String)request.getSession().getAttribute(mname);System.out.println(-+fname);order.setOdate(odate);order.setFname(fname);orderService.add(order, ano); catch (Exception e) return fail;return add;public String select()try list =orderService.selectAllOrder(); catch (Exception e) return fail;return select;public String selectdate()try list =orderService.selectdate(getBdate(),getCdate(),getState();return selectdate; catch (Exception e) e.printStackTrace();return fail;public String delete()try order.setOno(order.getOno();orderService.delete(order);select(); catch (Exception e) e.printStackTrace();return delete;public List getList() return list;public String verify()try String ostate=已审核;order.setOstate(ostate);orderService.verifyOrder(order); catch (Exception e) return fail;return verify;购物车处理代码:public class CarAction extends ActionSupport implements ModelDrivenprivate static final long serialVersionUID = 1L;ICarService carService;int p=0;Resourcepublic void setCarService(ICarService carService) this.carService = carService;public void setDiamondService(IDiamondService diamondService) this.diamondService = diamondService;ResourceIDiamondService diamondService;Car car=new Car();HttpServletRequest request;Diamond diamond;private int number;public void setNumber(int number) this.number = number;public String mesweb()Diamond diamond = (Diamond)ServletActionContext.getRequest().getSession().getAttribute(diamond);number= Integer.parseInt(ServletActionContext.getRequest().getParameter(number);car.setNumber(number);car.setDiamond(diamond);try request = ServletActionContext.getRequest();carService.getCar(request);carService.add(request, car);return mesweb; catch (Exception e) e.printStackTrace();return fail;public String mesweb2()Diamond diamond = (Diamond)ServletActionContext.getRequest().getSession().getAttribute(diamond);number= Integer.parseInt(ServletActionContext.getRequest().getParameter(number);car.setNumber(number);car.setDiamond(diamond);try request = ServletActionContext.getRequest();carService.getCar(request);carService.modify(request, car);return mesweb2; catch (Exception e) e.printStackTrace();return fail;public String delete()tryrequest = ServletActionContext.getRequest();carService.delete(request,p);catch(Exception e)e.printStackTrace();return delete;public String deleteall()request = ServletActionContext.getRequest();request.getSession().removeAttribute(car);return success;public String modselect()request = ServletActionContext.getRequest();carService.modselect(request);return modselect;public Object getModel() return car;public void setP(int p) this.p = p;会员信息处理代码:public String alogin()try String pass=member.getMpass();String str=m.string2MD5(pass).substring(8,24);dlname=member.getMaccount();map.put(a, dlname);member=memberService.selectByMaccount(member.getMaccount();if(member=null)return noname;else if(member.getMpass().equals(str)response = ServletActionContext.getResponse();if(getUcheck()!=null)Cookie name=new Cookie(maccount,member.getMaccount();/name.setPath(/);name.setMaxAge(7*24*3600);response.addCookie(name);Cookie pa=new Cookie(mpass,pass);pa.setMaxAge(7*24*3600);response.addCookie(pa);elserequest = ServletActionContext.getRequest();Cookie c=request.getCookies();if(c!=null)for(int i=0;ic.length;i+)if(ci.getName().equals(maccount)ci.setMaxAge(0);response.addCookie(ci);if(ci.getName().equals(mpass)ci.setMaxAge(0);response.addCookie(ci);ActionContext context = ActionContext.getContext();context.getSession().put(mname, member.getMname();zsname=member.getMname();map.put(s, zsname);return alogin;elsereturn fail; catch (Exception e) e.printStackTrace();return error;public void setSession(Map arg0) this.map=arg0;SuppressWarnings(static-access)public String register()try if(!code.equals(str) System.out.println(输入验证码不正确!); return fail;elsemember.setMpass(m.string2MD5(member.getMpass().substring(8,24);memberService.add(member);return register; catch (Exception e) e.printStackTrace();return error;SuppressWarnings(static-access)public String update()trymember.setMpass(m.string2MD5(member.getMpass().substring(8,24);memberService.update(member);return update;catch(Exception e)e.printStackTrace();return error;public String delete()trymemberService.delete(member.getMno();return success;catch(Exception e)e.printStackTrace();return error;public String modselect()try mem
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026山东菏泽市单县教体系统第二次引进高层次人才39人备考题库及答案详解(考点梳理)
- 2026陕西农林职业技术大学招聘专职辅导员15人备考题库及答案详解(名师系列)
- 2026江苏省林业局所属事业单位招聘6人备考题库及答案详解(典优)
- 办公环境清洁维护周期安排使用手册
- 智慧协作驱动的灵活用工模式创新研究-洞察与解读
- 基于VR的沉浸式叙事空间研究-洞察与解读
- 网络营建设规划与部署手册
- 物流管理人员库存风险管理手册
- 产品质量检查及改进操作手册
- 项目协调员资源管理手册
- 带状疱疹疑难护理讨论
- 司炉与水处理安全技术培训课件
- 胸痛的护理查房
- 幕墙工程竣工资料(全套)
- 班级安全员培训课件-
- 承包商安全资格审查表格
- 残疾人旱地冰壶竞赛规则
- 2022年河北青年管理干部学院教师招聘考试真题
- 欧体6-结构5(楷书教学课件)
- 煤矿绿色开采技术-课件
- 开关磁阻电机的电流斩波控制
评论
0/150
提交评论