基于java的网上购物管理系统的设计与实现论文最终版_第1页
基于java的网上购物管理系统的设计与实现论文最终版_第2页
基于java的网上购物管理系统的设计与实现论文最终版_第3页
基于java的网上购物管理系统的设计与实现论文最终版_第4页
基于java的网上购物管理系统的设计与实现论文最终版_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

太原理工大学毕业设计(论文)任务书毕业设计(论文)题目:基于java的网上购物管理系统的设计与实现毕业设计(论文)要求及原始数据(资料):1.综述国内外互联网电子商务技术,研究电子商务网站现状;2.深入了解网上购物网站建设的相关技术;3.熟练掌握java语言的应用与分析,训练编写程序的能力;4.设计并实现一个网上购物管理系统;5.深入分析网上购物管理系统的关键技术与编写语言;6.训练检索文献资料和利用文献资料的能力;7.训练撰写技术文档与学位论文的能力。毕业设计(论文)主要内容:1.综述java在网上购物管理系统中的应用;2.了解网上购物管理系统的相关技术;3.熟悉网上购物管理系统的开发环境;4.设计网上购物管理系统;5.深入分析网上购物管理系统的关键技术与编写语言java的设计流程;6.熟练掌握基于java的网上购物管理系统编写;7.设计与实现网上购物管理系统。学生应交出的设计文件(论文):1.内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文;2.包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。主要参考文献(资料):[M].合肥:合肥工业大学出版社,2006.1-6童有好.我国行业电子商务网站的发展趋势[J].中国国情国力,2011,(8):1-5胡升腾.新概念网上商店建设教程[M].北京:北京科海集团公司,2001.1-15冯振,李红.总裁告诉你中国著名电子商务网站大透析[M].北京:中国对外翻译出版公司,2000.55-80[M].北京:科学出版社,2010.40-70张园园.基于Web的网上购物系统研究[J].计算机光盘软件与应用,2014,(11):1-2李明革.JavaWeb应用教程网上购物系统的实现[M].北京:中国人民大学出版社,2011.70-160Barnette,Curtis,H.Opportunitiesine-commerceandknowledgemanagement[J].IronAgeNewSteel,1999,(6):21-30Maciej,Dabrowski;Thomas,Acton.Theperformanceofrecommendersystemsinonlineshopping:Auser-centricstudy[J].ExpertSystemswithApplications,2013,40(14):1-3Rajagopal.ArchitectingMexGro:introducingonlineexperienceforshoppingethnicproducts[J].EmergingMarketsCaseStudiesCollection,2014,(2):1-3专业班级软件1127班学生要求设计(论文)工作起止日期2015年3月23日~2015年7月3日指导教师签字日期2015年3月23日教研室主任审查签字日期系主任批准签字日期基于java的网上购物管理系统摘要在21世纪,网络技术获得了高速发展。在中国,淘宝商城的成功更是开启了网上购物的热潮。网上购物以其高效、低成本的特点,迅速成为新兴的经营模式和理念。人们不再满足信息的浏览发布。越来越多的公司进入网络进行各项业务,而消费者们也越来越享受足不出户便可方便选购自己喜欢商品的感觉。本平台就是在此需求下,用B/S模式结构来研发的网上购物平台。它是在Windows7下,以MyEclipse为平台,MySql为数据库开发平台,Tomcat7.0为应用服务器开发的网上购物管理系统。系统分为前台部分与后台部分,前台部分由用户使用,主要包括用户注册、登陆,留言,购物车管理,个人资料管理等功能;后台部分由管理员使用,可以管理店铺商品信息,订单,管理设置用户管理权限,对商品以及用户实现管理。关键字:网上购物系统;Tomcat;MySql;B/STheonlineshoppingmanagementsystembasedonJavaAbstractInthe21stcentury,networkingtechnologytoobtainahigh-speeddevelopment.InChina,TaobaoMall'ssuccessisopeninganonlineshoppingcraze.Onlineshoppingwithhighefficiency,lowcost,fastbecomeanewbusinessmodelandphilosophy.Peoplearenolongersatisfiedbrowsethereleaseofinformation.Moreandmorecompaniesenterthebusinessnetworks,andconsumersarealsoincreasinglyenjoyastayathomeeasytobuytheirfavoritemerchandisefeeling.Theplatformisinthisdemand,withtheB/Smodearchitecturetodeveloponlineshoppingplatform.ItisunderWindows7toMyEclipseplatform,MySqldatabasedevelopmentplatform,Tomcat7.0applicationservermanagementsystemtodeveloponlineshopping.Thesystemisdividedintofrontandbackportionspart,frontpartoftheuser,includinguserregistration,login,message,shoppingcartmanagement,personalinformationmanagementandotherfunctions;Backgroundinpartbymanagers,tomanagestoremerchandiseinformation,orders,managementsetusermanagementauthority,managementofgoodsanduserstoachieve.Keywords:Onlineshoppingsystem;Tomcat;MySql;B/S目录1.绪论 1购物网站的开发现状 1系统开发工具概述 11.2.1MyEclipse简介 11.2.2MySql简介 21.2.3Tomcat简介 21.2.4MySql-Front简介 21.2.5OfficeVisio2007简介 2系统开发语言及系统框架介绍 31.3.1java综述 31.3.2SSH框架简介 52.系统可行性研究 72.1技术可行性 7经济可行性 7操作可行性分析 73.系统需求分析 8总体需求分析 8前台功能需求分析 9后台功能需求分析 94.系统概要设计 10设计思想 10系统总功能结构 10后台系统各子模块功能结构 11用户管理模块 11商品管理模块 11用户权限模块 11统计报表模块 12系统数据库设计 12系统概念结构设计--E-R图 12数据库逻辑结构设计—关系表 135.详细设计与系统实现 17前台模块功能设计 17注册功能设计 17前台登录模块设计 19个人管理中心模块 21后台模块功能设计 24后台登陆模块设计 24用户管理模块 26商品管理模块 28用户权限管理模块 29统计报表模块功能 306.软件测试及系统拓展思路 32软件测试基本概念 326.2软件测试分类 33系统功能测试 33系统拓展方向 367.结论 37致谢 38参考文献 391绪论1.1购物网站的开发现状21世纪,社会不断进步,经济高速发展,计算机技术与网络技术也越来越成熟,在各个领域掀起了一阵新的浪潮。人们的生活因为计算机与互联网的发展不断发生变化,人们越来越多的享受互联网给生活所带来的便捷与高效。互联网被越来越多的人熟知,并且深入人心。人们不再满足于传统的购物方式,“网上购物”这种新型的购物方式变得为越来越多的人所接受。网上购物直销,免去了时间与空间的限制。而传统的购物方式则有许多时间空间的限制。因为对于商家,需要确定在哪里设定商品销售点,根据销售点所在地的消费情况估计商品销量,然后根据信息从生产商购买一定量的商品进行销售。若购货量小,不能满足需求,频繁的补货会产生额外的运输费用,影响商场利润。购物量太大,超过需求,则会产生商品积压风险。而对于消费者,想买自己所需要的商品,就必须要去实体店。并且消费者的一次购物可能回到很多不同的地方进行选购与对比,浪费时间和精力。而网上商城的成功开发,可以满足消费者足不出户就购买自己需要商品的需求。人们可以坐在家里,或者任何一个地方,只要有一台可以联网的电脑,就可以在网上查看与购物自己需要的商品,节省了很多的时间精力。更重要的是,网上购物无实体店,减少了很多的中间环节,大大的节省了成本,相对于实体店具有加个优势。在国外,“网上购物”理念已经十分成熟,在线试穿、在线着装等用户体验非常人性化。而在我国,信息化购物起步相对较晚,但是国家的大力支持以及中国庞大的市场需求,促进了一批批成功的网上购物网站的出现,如淘宝、当当、京东等。这些成功的网上运行案例便是电子商务成功发展的真实写照。1.2.1MyEclipse简介MyEclipse是一个用于开发Java,J2EE的Eclipse的十分优秀的插件集合,MyEclipse功能强大,支持广泛,对各种开源产品的支持十分不错。MyEclipse可以支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC数据库链接工具等多项功能。MyEclipse可以说是几乎包括了目前所有主流开源产品的专属eclipse开发工具。1.2.2MySql简介MySQL是一种将数据保存在不同的表中的关联数据库管理系统,因此速度和灵活性都获得了提高。MySQL使用SQL“结构化查询语言”,有多种操作系统的支持,为多种编程语言提供了API,同时支持多线程,优化的SQL查询算法,能够处理大型数据库,支持多种存储引擎等,成本低、速度快、体积小和开放源码,由于它拥有这么多优点,所以许多中小型网站都采用MySQL作为网站的数据库。1.2.3Tomcat简介Tomcat服务器是一个在中小型系统开发中常被用到的轻量级应用服务器。作为一个免费的开放的源代码Web应用服务器,为我们开发和调试JSP程序带来了很大便利。1.2.4MySql-Front简介SQL-front是mysql数据库的可视化图形工具,因为它是“实时”的应用软件,它可以提供精炼的用户界面。即刻响应,没有重载HTML页的延迟。主要特性包括多文档界面,语法突出,拖拽方式的数据库和表格,可编辑/可增加/删除的域,可编辑/可插入/删除的记录,可显示的成员,可执行的SQL脚本,提供与外程序接口等。1.2.5OfficeVisio2007简介OfficeVisio2007是一款方便开发人员作图及进行相关交流的软件,本身具有多种模型,可以帮助用户快速高效便捷的创建各种视图,例如创建业务流程图,E-R图,软件结构图等我们在软件开发过程中需要做的图形,为我们加快项目进度以及方便交流带来了很大方便。1.3.1java综述Java的特点平台无关性是指Java能运行于不同的平台。Java引进虚拟机原理,并运行于虚拟机,实现不同平台的Java接口之间。使用Java编写的程序能在世界范围内共享。Java的数据类型与机器无关,Java虚拟机(JavaVirtualMachine)是建立在硬件和操作系统之上,实现Java二进制代码的解释执行功能,提供于不同平台的接口的。Java的编程跟C++类似,所以学习过C++的可以触类旁通,很快的掌握Java的精髓。Java程序运行时,由操作系统分配内存,这样做可以避免病毒通过指针进入系统,舍弃了C++中的指针对存储器地址直接操作。Java还提供了程序安全管理器,防止程序的非法访问。Java把数据封装在类中,然后利用了类的优点,实现了使程序变得简洁和方便维护。类的封装性、继承性以及其他有关对象的特性,使得程序相关代码仅仅只需一次编译,却可以通过上述特性反复利用。程序员可以只需把主要工作放在类和接口的设计和应用。Java提供了很多一般对象的类,他可以通过继承然后就可使用父类的方法。在Java中,类的继承关系是单一并且非多重的,一个子类只能有一个父类,子类的父类然后又有一个父类。Java所提供的Object类及其对应子类的继承关系,图形化如同一棵倒立的树形,Object类为根类,因为Object类功能强大,我们经常会使用到它和其它派生子类。Java是建立在被扩展的TCP/IP网络平台上。其中的库函数提供了用和FTP协议来进行传送和接受信息的方法。这使得我们程序员在使用网络上的文件时候可以和使用本机文件一样方便。Java致力于检查发现程序在编译和运行时所存在的错误。其中,类型检查会帮助我们检查出许多在开发早期会出现的错误。此外,Java还通过实现真数组来避免发生覆盖数据的可能,而这些功能特征都大大提高了我们开发人员开发Java应用程序的时间周期。并且Java本身还提供了例如空指针检测、数组越界检测、异常出口等功能,大大提高了检错效率。java面向对象的特征1.抽象:抽象就是指忽略一个在主题中,与当前目标所无关的方面,来更充分地描述观察与当前目标所有关的方面。抽象并不是不打算了解全部问题,而是只选择其中的一部分,而暂时不用部分细节。抽象一根包括两个方面,一方面是过程抽象,另一方面是数据抽象。2.继承:继承属于联结类层次模型,它允许和鼓励类的重用。它提供了一种可以明确的表述共性的方法。对象的一个新类能够从现有类中派生,这个过程称为类继承。新类继承了其原始类的特性,新类被称为原始类的派生类(子类),而原始类则称为新类的基类(父类)。派生类可以从它的基类那里来继承方法和实例变量,并且类还可以修改以及增加新的方法来使之更适合特殊需要。3.封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。4.多态性:Java的多态性是指允许不同的类的对象,对于同一消息做出响应。多态性分为参数化多态性还有包含多态性。而多态性语言则具有灵活、抽象、行为共享、代码共享等优势,可以很好的解决程序中应用程序函数同名的问题。1.3.2SSH框架简介图1-3SSH框架SSH是一个struts+spring+hibernate的一个的集成框架,是目前在网站开发中很流行的一种开源框架。集成的SSH框架从系统职责上可以分为四层:表示层、业务逻辑层、数据持久层以及域模块层,分层的作用是可以帮助开发人员在短期时间内搭建一个结构清晰、可重复使用性好、后期维护方便的Web应用程序。其中Struts作为整个系统的基础架构,来负责MVC的分离。而在Struts框架模型部分,则控制业务跳转,Hibernate框架对持久层提供支持。整体中,Spring管理struts和hibernate。具体的做法是:用面向对象的分析方法,根据用户需求提出一些模型,然后将这些模型转换为基础的Java对象,然后写基本的DAO(DataAccessObjects)接口,并给出相应的Hibernate的DAO实现,通过用Hibernate架构来实现的DAO类来实现将Java类和数据库之间的相互转换和访问,最后再由Spring做管理,管理struts和hibernate。系统的基本业务流程是:在表示层中,首先要通过JSP页面来实现交互界面,负责接收界面请求(Request)和传送响应(Response),然后Struts再根据对应配置文件(struts-config.xml)将ActionServlet接收的Request转给相应的Action处理。然后在业务层中,管理服务组件的SpringIoC容器负责向Action提供业务模型(Model)组件还有该组件的协作对象数据处理(DAO)组件来完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。采用上述开发模型,不仅仅实现了视图、控制器与模型的彻底分离,还实现了业务逻辑层与持久层的分离。这样无论前端如何变化,我们模型层只需要做很少的改动,并且数据库的变化也不会对前端有所影响,所以大大提高了系统的可复用性。由于不同层之间耦合度小,所以更有利于团队成员之间进行并行工作,大大提高了软件开发效率。2系统可行性研究2.1技术可行性技术可行性分析主要是根据客户提出的系统功能、性能及实现系统的各项约束条件,从技术的角度对系统进行研究以及判断系统实现的可能性,目的是分析现有条件是否能够完成功能设计以及系统开发工作。本系统基于Windows7操作系统,使用的开发软件有MyEclipse、Tomcat7.0、MySql、以及MySql-Front。近年网上购物的流行,网络上产生了许多经典的源码以及案例,有着很好的参考作用。所以,本系统技术上试可行的。2.2经济可行性本系统主要由学生设计与开放,所以不存在资金不足的情况。此外,本系统所在的硬件环境以及软件环境,能够下载免费使用,系统投入运行后,后台系统管理、维护、升级上,不会造成严重的经济负担。而且一旦系统正式投入使用,能够极大地减少工作强度,提高管理人员的工作效率,极大地方便网上购物商城的管理。综上所述,从经济方面,开发网上管理系统是可行的。2.3操作可行性分析本系统采用信息化的管理方式,将购物系统的后台管理更加高效和简单。对数据库的使用,保证了数据信息的准确性,减少了人工操作并且降低了错误的发生率。此外,本系统采用简单的交互界面,简洁明了,所有信息均以网页的形式呈现给管理人员,减少了人员工作量并且规范了人员的操作。用户不需要对数据库进行深入的了解,有一般的计算机知识的人员就可以轻松上手。所以从操作可行性上分析,本系统是可行的。3系统需求分析所谓"需求分析",是指对要解决的问题进行详细的分析,弄清楚问题的要求。就是明确客户对系统的要求,包括系统的规模、负载、性能等方面,并结合分析人员的经验,最终明确系统需要做什么,达到什么样的效果。需求分析是系统设计与实现的起步,也是整个过程最关键的一步。3.1总体需求分析一个好的网上购物系统,不仅包括前台的美观同时后台的优化也是很重要的,本系统主要有三种模式分别为:第一,游客浏览模式;第二,会员模式;第三,后台管理员模式。在前台的诸多模块中分别包含着注册、登陆等处理功能。在后台的模块中,只有管理员有权限登陆,管理员可以添加商品、客户的信息,可以编辑商品的详细信息等等一系列功能。前台功能需求网站导航模块用户登录注册模块用户个人中心管理模块后台功能需求:系统设置管理模块:用户管理模块商品管理模块网站管理模块用户权限管理模块统计报表模块3.2前台功能需求分析网址导航模块主页面显示,显示当前所有商品信息。用户未登陆前可以浏览搜索商品信息,点击后商品后察看商品信息用户注册登录模块实现未注册用户的注册,已注册用户的登陆功能用户个人信息管理模块模块中分为购物车子模块,个人设置模块,消息管理模块。购物车子模块实现购物车管理,订单管理等功能消息管理子模块实现管理购物留言等功能个人设置模块管理当前用户相关信息以及修改3.3后台功能需求分析分为导航管理,网站基本信息设置等子模块。普通用户管理模块及卖家管理模块。实现对买家及卖家用户管理。实现对商品的分类,添加修改等功能。网站管理模块对网站前台的留言,前台新闻等进行管理用户权限管理模块赋予权限,分为超级管理员与普通管理员权限。给不同管理员设置不同权限。统计报表实现统计功能,可以查看本网站店铺,品牌,销售订单的相关统计4系统概要设计4.1设计思想本购物网站主要是对后台管理以及前台的操作。后台是管理员对本网站的维护,通过对商品资料,管理员管理等功能达到对网站的管理。前台操作是用户未登陆网站之前可以进行商品信息的浏览以及搜索,注册登陆后可以将自己购买的商品加入购物车,提交订单以及留言等,实现商品查询以及注册用户的购物流程。4.2系统总功能结构系统前台功能结构图图4-2-1前台系统功能结构系统后台功能结构图图4-2-2后台系统功能结构图4.3后台系统各子模块功能结构4.3.1用户管理模块图4-3-1用户功能结构图4.3.2商品管理模块图4-3-2商品管理功能结构图4.3.3用户权限模块图4-3-3用户权限管理功能结构图4.3.4统计报表模块图4-3-2统计报表功能结构图4.4系统数据库设4.4.1系统概念结构设计-E-R图建设一个需要的网站系统之前,我们必须对所做的系统将用到的数据进行一个大致的分类以及具体的结构设计,不仅要做到清晰明了,还要能适应系统各项功能的需求,不至于最终产生结构上的逻辑混乱,从而保证关键数据不会在意外情况下被破坏。可以说数据库是一个系统的重中之重。在进行数据库设计时候我们要遵循一些规则。实际设计中,一个好的数据库必须满足一些严格的约束和要求。首先我们要尽量分离各实体之间对应的表,一个实体只能对应一个表,搞清楚该实体本身具有哪些属性,有哪些什么字段,以及各个实体之间存在何种关联。实体、属性与联系是我们在进行概念设计时必须要考虑的三个元素,同时也是实现一个好的数据库设计的核心。从实际需求出发,经过仔细地设计,我们所规划出来的部分实体图如下面所展示的:图4-4-1留言信息实体图、图4-4-2商品信息实体图以及图4-4-3会员信息实体图。留言板实体E-R图如4-4-1所示:图4-4-1留言板实体E-R图商品信息实体E-R图如图4-4-2所示:图4-4-2商品信息实体E-R图会员信息实体E-R图如图4-4-3所示:图4-4-3会员信息实体E-R图4.4.2数据库逻辑结构设计—关系表留言板:存放留言板相关属性,具体属性如下图4-2-1所示。表4-2-1留言板表名称类型是否允许空默认值属性备注LM_IDBigint(10)否auto_increament留言板IDUSERIDBigint(10)是空用户IDCOMIDBigint(10)是空企业IDLM_LDATEdatetime是空留言时间LM_HDATEdatetime是空回复时间LM_LCOMTENTVarchar(2000)是空留言时间LM_HCONTENTVarchar(2000)是空回复内容ADMIN_IDBigint(10)是空管理员ID管理员表:存放管理员信息,具体属性如图4-2-2所示。表4-2-2管理员表名称类型是否允许为空默认值备注ADMINIDBigint(10)否Auto_increment管理员idADMINNAMEVarchar(50)是空管理员名ADMINEMAILVarchar(100)是空邮件名PASSWORDVarchar(50)是空登录密码ADDTIMEdate是空注册时间LASTLOGINdate是空最后登录时间LASTIPVarchar(100)是空最后登录IPLOCKEDint(11)是0锁定标志ROLE_IDBigint(10)是空所属角色BEAN_IDBigint(10)是空品牌商ID用户表:存放用户相关信息,具体属性如图4-2-3所示。表4-2-3用户表名称类型是否允许为空默认值备注USERIDBigint(11)否Auto_increment用户idPERSON_INFO_IDBigint(11)是空用户邮箱USEREMAILVarchar(100)是空用户名USERNAMEVarchar(50)是空密码PASSWORDVarchar(50)是空REGTIMEdatetime是空注册时间LASTLOGINTIMEdatetime是0000-00-0000:00:00是否锁定账户LASTIPVarchar(50)是空会员头像logoLOCKEDBit(1)是空PERSONLOGOVarchar(128)是空TEMP2Varchar(255)是空TEMP3Varchar(255)是CreditcountsBigint(10)是空信用分值CartEditTimedatetime是空购物车修改时间模块表:存放界面划分的不同的模块,具体属性如图4-2-4所示。表4-2-4模块信息表名称类型是否允许为空默认值备注MODULEIDBigint(10)否否主键IDMODULENAMEVarchar(50)是空模块名字MODULELINKVarchar(128)是空模块链接MODULEOROERIDBigint(10)是空模块排序IDMODULEISACEIVEBigint(10)是空模块是否启用MODULECREATETIMEdate是空创建时间CATALOGINBigint(10)是空外键IDMODULEFLAGVarchar(128)是空模块标志商品信息表:存放商品相关信息,具体信息如表4-2-5所示。表4-2-5商品信息表名称类型是否允许为空默认值备注GOODIDBigint(10)否Auto_increment商品GOODCODEVarchar(50)是空商品名称GOODNAMEVarchar(50)是空所属商店idBEANIDBigint(10)是空所属品牌idFirstBrandcatalogidBigint(10)是空所属品牌分类一级目录brandcatalogidBigint(10)是空所属品牌分类二级目录SHOPIDBigint(10)是空所属商店idCOVERIMGVarchar(500)是空产品封面图片GOODINTROVarchar(1000)是空商品信息GOODPRICEdouble是空商品价格transportModelIdBigint(10)是空运输费用ReadtimeBigint(10)是0浏览次数RWAYVarchar(100)是空运输方式PDRICEVarchar(100)是空运输模块IDSTOCKVarchar(50)是空库存数量ISSHOWBit(1)是空是否商家,1上架,0为否SALETIMEBigint(10)是空购买次数MARKETPRICEdouble是空市场价格DISCOUNTdouble是10折扣ISHOTBit(1)是空是否热门ISONSALEBit(1)是空是否促销COLLETIONCOUNTBigint(10)是空被用户收藏的次数5详细设计与系统实现5.1前台模块功能设计5.1.1注册功能设计图5-1-1注册功能设计界面用户界面如图5-1-1所示,用书输入上面信息即可快速注册一个会员信息,具体代码如下: publicStringDoRegister()throwsNoSuchAlgorithmException, UnsupportedEncodingException{ Objecto=ActionContext.getContext().getSession().get("rand"); //获取验证码 if(o==null||o==""){ returnOpenRegister(); } if(!veriCode.equals(o.toString())){ addActionMessage("验证码错误!"); returnOpenRegister(); } if(thisername(buyer.getUsername())){ addActionMessage("用户已存在!"); returnERROR; } if(this.buyerService.verifyUserByUserEmail(buyer.getUseremail())){ addActionMessage("该Email已被使用,请重新输入!"); returnERROR; } PersonInfopInfo=newPersonInfo(); DesPassworddes=newDesPassword(); des.setKey("888888"); des.setEncString(password); Stringdespassword=des.getStrMi(); buyerService.save(pInfo); buyer.setLastip(ServletActionContext.getRequest().getRemoteAddr()); buyer.setRegtime(newTimestamp(System.currentTimeMillis())); buyer.setLastlogtime(newTimestamp(System.currentTimeMillis())); buyer.setLocked(false); buyer.setPersonInfo(pInfo); buyer.setPassword(despassword); buyerService.save(buyer); //写session的信息 Mapsession=ActionContext.getContext().getSession(); session.remove("company"); session.remove("tbuyer"); session.put("Lip",buyer.getLastip()); session.put("Ltime",buyer.getLastlogtime()); session.put("tbuyer",buyer); return"registeSuccess";5.1.2前台登录模块设计图5-1-2前台登陆界面用书登录界面如图5-1-2所示,用书输入对应用户名及密码,验证码正确后即可登录成功,进入个人管理中心。代码如下Mapsession=ActionContext.getContext().getSession(); if(session.get("tbuyer")!=null){ return"loginSuccess"; } DesPassworddes=newDesPassword(); des.setKey("888888"); des.setEncString(password); if(des.getStrMi()==null){ returnOpenLogin(); } buyer.setPassword(des.getStrMi()); Userstuser=buyerService.verifyUser(buyer); if(ActionContext.getContext().getSession().get("rand")==null){ addActionMessage("请先重载页面"); returnOpenLogin(); } if(!checkCodes.equals(ActionContext.getContext().getSession().get( "rand").toString())){ addActionMessage("验证码错误"); returnOpenLogin(); } if(null==tuser){ addActionMessage("用户名或密码错误"); returnOpenLogin(); }else{ session.remove("company"); session.remove("shops"); session.remove("brand_admin"); session.put("Lip",tuser.getLastip()); session.put("Ltime",tuser.getLastlogtime()); ServletRequestrequest=ServletActionContext.getRequest(); tuser.setLastip(request.getRemoteAddr()); tuser.setLastlogtime(newTimestamp(System.currentTimeMillis())); buyerService.update(tuser); session.put("tbuyer",tuser); IndexInfoinformation=null; if(ActionContext.getContext().getSession().get("info")==null){ try{ information=(IndexInfo)showindexservice.getObject( IndexInfo.class,1); ActionContext.getContext().getSession().put("info",information); }catch(Exceptionex){ return"busy"; } } information=(IndexInfo)ActionContext.getContext().getSession() .get("info"); if(information.getIsclose()==1){ return"error"; } return"loginSuccess"; }5.1.3个人管理中心模块5-1-3个人管理中心模块 前台个人管理中心界面如图5-1-3所示,用户登录成功后再次页面进行购物车及个人信息管理。部分代码如下: publicStringShowPersonInfo(){ tuser=(Users)ActionContext.getContext().getSession().get("tbuyer"); tuser=buyerService.verifyUser(tuser); if(tuser==null){ return"doesNotLogin"; } personinfo=tuser.getPersonInfo(); areas=buyerService.getAllCountry(); if(personinfo.getCity()==null){ tprov=null; tcity=null; }else{ tprov=buyerService.getPrivinceById(personinfo.getCountry(),2); tcity=buyerService.getCityById(personinfo.getPrivince()); } return"info"; } PublicStringSavePersonInfo()throwsIOException{ if(personinfo==null){ returnERROR; } buyer=(Users)ActionContext.getContext().getSession().get("tbuyer"); tuser=buyerService.verifyUser(buyer); //System.out.println(tuser.getPersonInfo().getPuserpic()+"******"); personinfo.setPuserpic(tuser.getPersonInfo().getPuserpic()); if(upload!=null){ Stringtard=ServletActionContext.getServletContext().getRealPath( "/upload/images/userpics/puserpics"); StringtargetFileName=buyerService .generateFileName(uploadFileName); Filetarget=newFile(tard,targetFileName); FileUtils.copyFile(upload,target); personinfo.setPuserpic("/upload/images/userpics/puserpics/" +targetFileName); } buyerService.update(personinfo); areas=buyerService.getAllCountry(); if(personinfo.getCity()==null){ tprov=null; tcity=null; }else{ tprov=buyerService.getPrivinceById(personinfo.getCountry(),2); tcity=buyerService.getCityById(personinfo.getPrivince()); } Mapsession=ActionContext.getContext().getSession(); tuser=buyerService.verifyUser(buyer); session.put("tbuyer",tuser); ServletRequestrequest=ServletActionContext.getRequest(); request.setAttribute("sendMessageToPage","个人信息修改成功!"); return"info"; } publicStringcheckarea(){ areas=buyerService.getPrivinceById(pid, Integer.parseInt(veriCode)+1); veriCode=(Integer.parseInt(veriCode)+1)+""; return"callback"; } publicStringShowPersonCenter(){ try{ buyer=(Users)ActionContext.getContext().getSession().get("tbuyer"); if(buyer!=null){ this.setOrderstate1count(buyerService.countstate1(buyer.getUserid())); this.setOrderstate2count(buyerService.cuuntstate2(buyer.getUserid())); this.setOrderstate3count(buyerService.cuuntstate3(buyer.getUserid())); this.setOrderstate4count(buyerService.cuuntstate4(buyer.getUserid())); } this.setNumSize(buyerService.GetNumSize()); this.setNoOrderApp(buyerService.GetNoOrderApp()); }catch(Exceptione){ return"busy"; } return"personCenter";}5.2后台模块功能设计5.2.1后台登陆模块设计图5-2-1后台管理登陆模块后台登录界面实现如图5-2-1所示,具体实现代码如下: publicStringlogin(){ ServletRequestrequest=ServletActionContext.getRequest(); DesPassworddes=newDesPassword(); des.setKey("888888"); des.setEncString(password); company=compservice.login(this.getUsername(),des.getStrMi()); if(ActionContext.getContext().getSession().get("rand")!=null){ if(!checkCodes.equals(ActionContext.getContext().getSession().get( "rand").toString())){ addActionMessage("验证码错误"); returnINPUT; } }else{ returnINPUT; } if(company!=null){ ActionContext.getContext().getSession().remove("tbuyer"); ActionContext.getContext().getSession().remove("Lip"); ActionContext.getContext().getSession().remove("Ltime"); ActionContext.getContext().getSession().remove("brand_admin"); ActionContext.getContext().getSession().put("company",company);Shopsshops=(Shops)(compservice.getAllData("fromShopswherecompanyid="+company.getComid()).get(0)); ActionContext.getContext().getSession().put("shops",shops); this.setOrderstate1count(compservice.countstate1(shops.getShopid())); this.setOrderstate2count(compservice.cuuntstate2(shops.getShopid())); this.setOrderstate3count(compservice.cuuntstate3(shops.getShopid())); this.setOrderstate4count(compservice.cuuntstate4(shops.getShopid())); this.setNumSize(compservice.getNumSize()); IndexInfoinformation=null; if(ActionContext.getContext().getSession().get("info")==null){ try{ information=(IndexInfo)showindexservice.getObject( IndexInfo.class,1); ActionContext.getContext().getSession().put("info", information); }catch(Exceptionex){ return"busy"; } } information=(IndexInfo)ActionContext.getContext().getSession() .get("info"); if(information.getIsclose()==1){ return"error"; } returnSUCCESS; }else{ addActionMessage("用户名或密码错误"); returnINPUT; }5.2.2用户管理模块图5-2-2用户管理界面后台管理的用户管理模块如图5-2-2所示,用来管理普通用户与企业用户。详细代码如下:<frame

id="header-frame"

scrolling="no"

frameborder="no"

name="header-frame"

src="admin_top.shtml"><frameset

id="frame-body"

border="0"

framespacing="0"

cols="180,*"><frame

id="menu-frame"

scrolling="no"

frameborder="no"

name="menu-frame"

src="admin_menu.shtml"><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"":///TR/html4/loose.dtd"><html><head><body

onload="showlink('0')"><input

id="hid"

type="hidden"

value="menuid"><div

id="jybody"

style="margin-top:0px;"></body></html></frame><frame

id="main-frame"

scrolling="yes"

frameborder="no"

name="main-frame"

src="admin_main.shtml"><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"":///TR/html4/loose.dtd"><html><head><body><div

id="maincontent"><div

class="wrap"><div

class="crumbs">当前位置>>用户管理>>会员列表</div><hr><div

class="infobox"><h3>会员列表</h3><div

class="content2"><table

class="list_table"><thead><tbody><tr

style="text-align:center;"><tr

style="text-align:center;"><tr

style="text-align:center;"><tr

style="text-align:center;"><tr

style="text-align:center;"><td

align="left"><td><td

class="greencenter"></td><td

class="center"><span

style="color:green;">正常</span></td><td

class="center"><a

href="usersMgr_CustChange.shtml?userid=44">修改</a><br><a

onclick="returnconfirm('锁定后会员将不能登陆,确认要锁定吗?');"

href="usersMgr_CustLock.shtml?userid=44">锁定</a></td><td><a

href="usersMgr_CustDetailList.shtml?userid=44&jumpPage=1">详细信息</a></td></tr><tr></tbody></table></div></div></div></div></body></html></frame></frameset></frameset>5.2.3商品管理模块5-2-3商品管理模块商品管理模块如图5-2-3所示,用于对商品类别,分类等进行管理,部分代码如下:<html><head><frameset

border="0"

framespacing="0"

rows="100,*"><frame

id="header-frame"

scrolling="no"

frameborder="no"

name="header-frame"

src="admin_top.shtml"><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"":///TR/html4/loose.dtd"><html><head><meta

content="text/html;charset=utf-8"

-equiv="Content-Type"><title></title><link

href="/shop/css/admin/admin.css"

type="text/css"

rel="stylesheet"><link

href="/shop/css/admin/top.css"

type="text/css"

rel="stylesheet"><script

src="/shop/js/admin/jy.js"

type="text/javascript"></head><body

onload="nTabs()"></html></frame><frameset

id="frame-body"

border="0"

framespacing="0"

cols="180,*"><frame

id="menu-frame"

scrolling="no"

frameborder="no"

name="menu-frame"

src="admin_menu.shtml"><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"":///TR/html4/loose.dtd"><html><head><body

onload="showlink('0')"><input

id="hid"

type="hidden"

value="menuid"><div

id="jybody"

style="margin-top:0px;"><div

id="leftmenu"><ul

id="index"

class="submenu"><li

id="separator"

class="separator"></li><li

id="main"

class="active"

onclick="changeMenu(this);"><li

id="main"

class="active"

onclick="changeMenu(this);"><li

id="main"

class="active"

onclick="changeMenu(this);"><li

id="main"

class="active"

onclick="changeMenu(this);"><li

id="main"

class="active"

onclick="changeMenu(this);"></ul></div></div></body></html></frame><frame

id="main-frame"

scrolling="yes"

frameborder="no"

name="main-frame"

src="admin_main.shtml"><!DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN"":///TR/html4/loose.dtd"><html><head><meta

content="text/html;charset=utf-8"

-equiv="Content-Type"><title></title><link

href="/shop/css/admin/admin.css"

type="text/css"

rel="stylesheet"><link

href="/shop/css/admin/main.css"

type="text/css"

rel="stylesheet"><link

href="/shop/css/admin/main_webMgr_news.css"

type="text/css"

rel="stylesheet><script

src="/shop/js/admin/jy.js"

type="text/javascript"><script

src="/shop/js/admin/main_webMgr_news.js"

type="text/javascript"></head><body><div

id="maincontent"><div

id="bg_div"

style="display:none;"></div><div

id="messagebox_div"

style="display:none;"><div

class="wrap"><div

class="crumbs">当前位置>>用户权限>>目录管理</div><hr><div

class="seachbox"><div

class="content2"></div></div><div

class="infobox"><h3><div

class="content2"></div></div></div><div

id="ajaxmessageid"

style="color:red;display:none;width:270px;margin:5pxauto;">

正在加载数据。。。</div></body></html></frame></frameset></frameset></html>5.2.4用户权限管理模块图5-2-4用户权限管理模块此功能为管理系统最重要的模块,权限的划分是管理系统中最主要的,页面效果如图5-2-4所示。部分详细代码如下:<form

method="post"

action="power_roleUpdate.shtml"><table

class="list_table"

style="table-layout:fixed;"><tbody><tr><td

width="22%"

align="right"><td

width="78%"

align="left"><span

class="button-container"><input

class="regular-button"

type="button"

onclick="returnupdateRole()"

value="修改角色"

name="update"></span><span

class="button-container"><input

class="regular-button"

type="button"

onclick="deleteRole();"

value="删除角色"

name="delete"></span><span

class="button-container"><input

class="regular-button"

type="button"

onclick="turnback();"

value="返回"

name="back"></span></td></tr></tbody></table></form>5.2.5统计报表模块功能5-2-5统计报表功能此模块主要对店铺销售量及订单进行一个统计功能,实现界面如图5-2-5所示,其具体实现代码如下:<body><div

id="maincontent"><div

id="bg_

温馨提示

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

评论

0/150

提交评论