基于JSP的服装销售系统设计与实现_第1页
基于JSP的服装销售系统设计与实现_第2页
基于JSP的服装销售系统设计与实现_第3页
基于JSP的服装销售系统设计与实现_第4页
基于JSP的服装销售系统设计与实现_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

摘要当今社会,经济发展飞快,服装店连锁管理经营方式已经成为服装店非常有效的管理方式,所以服装管理系统对于服装销售行业是非常必要的。社会因为经济和文化的差异,各个国家,社会发展,经济飞速增长,通过连锁经营的方式能够大大提高服装运营的销售效率,不仅仅是服装行业,它源于连锁经营快速经营模式和处理模式的设计,在中国服装行业中,连锁经营和管理模式都是在进行的。我国的模式和国外相比还是有一些差距,所以我们要探索中国的连锁经营最有效的方式。通过长期的市场调研发现,连锁的经营方式可以为大中小型服装销售群体带来很大的收益,同时通过这种管理方式能够极大的开拓服装销售的市场,为服装销售者带来可观的利益。本系统基于B/S构架根据网络销售的模式特点而设计,以IDEA和MySQL为设计开发工具,后端底层代码使用Java开发语言,前端HTML、CSS和JavaScript,JSP,SSM作为系统的框架。本系统的功能有:游客浏览、用户注册登录、用户浏览商品、用户搜索商品、购买商品、购物车功能、商品评价功能、管理员对用户以及商品的管理功能。关键词:服装销售系统;B/S架构;HTML;CSS;JavaScript;MySQL1绪论1.1设计的背景与意义随着当今社会的飞快发展,商业计算机化逐渐成为一个热门驱使。如今,计算机融入商业的强大功效已经被人们渐渐认识到。而计算机在各个行业已经占据了很重要的位置,同样在服装销售行业也充当着非常重要的角色。服装销售同时也需要和计算机建立相关的连接,所以结合计算机技术的使用会比线下人为操作有一些无与伦比的优势。在小城市里,服装连锁店有不同的业务流程和应用系统要求,还有进出口管理、销售和仓储服装的应用软件。计算机可以帮助企业规范和规范业务流程,准确计量门店的财务数据,如何管理这些服装商品数据信息,熟悉这些数据,是一个复杂的工作工程。工作量非常大,所以我们需要更好的管理服装连锁店销售系统中的数据,从而提高库存管理的效率,同时这也是一个快速发展的趋势,它可以减少管理工作量,调动员工的积极性和积极性,提高服装的销售率。当把计算机技术和服装销售的销售模式互相结合时,我们就需要开发一种方便易用的服装销售系统来提供人们对于服装购物的需求,同时也可以帮助销售货员提高他们的收账效率以及对于消费者的消费明细有了明确的记录的一局,为售后服务提供了有效的功能保障REF_Ref103247505\r\h[1]。据统计,国内服装企业对服装销售系统的使用相对较少,个体经营门店很大部分仍进行人力结算,而服装销售软件系统在实际应用中应用较为浅薄,应用范围拓展达不到预期,个体经营商户更是少之又少,所以能够真正实施服装销售系统的也是寥若晨星REF_Ref103247508\r\h[2]。一个完善的服装销售系统能够给销售者们带来巨大的利益,所以计算机与销售相结合是十分必要的。“服装销售系统”的建设,对实现用户购买需求、提高销售方的售卖效率、及时得到用户的反馈、增强自己在市场中的售卖力度和品牌实力有着很大的帮助REF_Ref103247510\r\h[3]。1.2国内研究现状及意义经过对早期服装销售模式的调查研究,我国当前服装销售系正处在一个发展的阶段,仍然以很多国外一些连锁品牌惯用的网上销售系统模式为模板来建立自己的服装销售系统,所以当前我国的服装销售系统仍然还需要一些进步。就目前看来,国内品牌独立的销售系统仍很少见,主要依附于各大销售平台进行销售,例如,淘宝、京东等平台。不过,这些网上销售方式也有一些不足之处打开。顾客收货至少要等两三天才能收到货物,而且更换商品要等更长的时间。因此,本系统有助于区域服装销售模式。这样就具备了主流电子商务的前提,又弥补了运输时间过长的短板,为消费者的售后服务提供了有效的保障基础。当前国内的一些服装销售系统包括易售乐系统、网上管家婆系统、衣盈易系统以及店家乐系统。易售乐服装销售系统由用户模式和后台管理两种模式构成,用户模式相关功能由游客浏览、用户注册、购买商品等功能组成。后台管理模式由商品采集、进存销管理、用户管理、季度销售数据整理等功能组成。其功能模块包括:店面管理、用户管理、调拨管理、充值管理、进销存表等功能。网上管家婆系统为中小型服装销售商户提供有效的网络销售模式,对于开设网店,进销存等业务的销售者有着很大的帮助。本系统提供网络服装订购、进销存功能、财会管理、销售数据整合、用户/会员管理等功能。为您在销售过程中提供极大的财务安全保障。能够为您提供完善的售后服务功能。另外还具有云订货、云财务、云网店等功能。衣盈易系统对商品类型、商品颜色、商品尺码有着系统的管理模式,为服装零售企业提供采购、销售、销存、营销拓客、线上商城、营业数据分析等一体化O2O营销管理解决方案,全面赋能服装新零售。店家乐系统分为单机、连锁网络、手机助手三个版本。单独服装类别、商品零售可选择单击版本。连锁网络版可以在线操控,对商品进货、出货数据进行实时监控,对用户进行管理,线上发货等操作。店家乐手机助手可以通过移动设备进行网络在线操控,适配于各种操作系统的移动设备,让店家无论走到哪都可以对店内情况随时进行监察。2相关技术2.1开发环境本系统在windows系统当中开发,代码使用了Java和JavaScript语言。配置环境为jdk1.8,MySQL5.6.48,Tomcat9.0.44。集成环境IDEA,NavicatPewmium12,Chrome/火狐浏览器。2.2B/S架构B/S(Browser/Server,Browser/Server)模式REF_Ref103247515\r\h[4],又称B/S结构。B就是浏览器端,S就是服务器端。浏览器端与服务器端相结合,系统的核心部分是集中式的,将系统的功能实现到服务器端,服务器端通过数据库系统和浏览器的Web服务器进行交互。而用户则只需要安装一个浏览器即可进行操作。B/S架构具有无客户端限制的优势,仅需安装一个浏览器即可驱动;其部分程序可在客户端直接运行,从而减少服务器的负载;具有强交互性能,可实现本地实时刷新;非常便利于服务器的维护与扩展。其具体的工作流程为首先客户机向服务器发送表单操作请求,等待服务器响应;其次在服务器端,应用服务器通常使用JSP等服务器技术来处理数据和响应请求;再次服务器通过服务器发送响应,并返回用户所需的数据,如网页、图像、声音等;最后浏览器解释了HTML文件的实现,使用户使用的界面更简单。因此,本系统的设计与开发采用B/S架构作为基础架构。2.3JavaScript简介JavaScript是由网景之父Brandonedge创建的,让浏览器活得更多,不是简单的静态页面。页面更具交互性。javascript虽然名称“Java”,但它与Java无关,只是在语法上有点相似。他们在不同的位置运行,Java在JVM中运行,JavaScript在浏览器内存中运行,程序不需要我们的程序员手工编译。编写源代码后,浏览器直接打开源代码进行解释和输出。JavaScript的“目标程序”以普通文本的形式存储,称为“脚本语言”,目标程序以文本的形式存在。不能用文本编辑器打开且不是脚本语言的类。其具备动态、弱类以及原型的特点。动态,即编程时,程序员不需要在意变量的类型,因为当你赋值的时候,变量会根据赋值的类型来定义变量的类型,这样就免去了变量赋值的过程。弱类,即编译时,不同类型的用户可以转换为隐式透明类型。当类型不正确是时候,隐式类型会将错误的类型转换成正确的类型。原型,即定义的新对象A会继承先前对象B,B继承A的属性,B对象称之为原型。它在运行时只能有特定的属性。还可以享受模型对象的特性。JavaScript实现由三个不同的部分组成,即ECMAScript、DOM以及BOM。ECMAScript,即语言的性质决定了语言、语法、类型、句子、关键词和保留的构成要素。DOM,由于将整个页面映射到多个节点类,程序员可以轻而易举地进行增、删、改、替换任何节点和DOM给的API。DOM是一个标准,分成DOM1、DOM2和DOM3,同时扩展了许多新的规范和API。BOM,即客户端和浏览器性能基础。它支持浏览器对象模型,可以在浏览器窗口中进行交互。程序员可以用BOM控制浏览器页面以外的成分。请注意,BOM并不构成规范。2.4SSM框架SSM框架是Spring+MyBatis+springMVC框架为一体的框架,它是一种标准的MVC模式,整个系统分为四层,显示层、控制层、服务层,dao四层。使用springMVC负责请求转发和试图的显示需求管理,spring实现业务对象管理,mybatis对数据库进行相关操作和处理。Spring是一个完善的轻量级框架,由IOC和AOP容器构成,用于简化企业开发。它可以是bean对象、Dao对象组件、服务组件等,因此,spring容器的管理使开发过程中的许多复杂代码变得简洁,大大降低代码的耦合度,有助于项目发售后的BUG处理,版本升级和功能添加。Spring使用JavaBean内核来做只有EJB才能做的事情,Spring不不仅仅只适用于服务器端的开发,简单、测试、松耦合,任何Java应用Spring都是一个轻量级的反向控制和面向对象的容器框架。Mybatis将JDBC进行了封装,将很多JDBC中很多繁琐的语句封装成了它的工具类,让编程人员可以直接使用,方便了编程人员的开发,提高了编程人员的工作效率。它使Mybatis数据库的所有基本工作都围绕着sqlessencefactory的状态进行。通过将配置文件绑定到数据库中每个实体类的映射器文件,可以通过SQL会话工厂获得SQL会话,然后执行SQL命令。SprineMVC的工作原理为首先客户端向dispatcherservlet分发服务器发送请求;其次从dispherservlet控件查询处理程序映射以查找进程控制器请求;再次Controller调用业务逻辑处理后,返回ModelAndView;然后DistinguiservClet查询视图分析器以查找模型和视图选择器;最终视图负责将结果显示到客户端。2.5MySQL数据库Mysql数据库是瑞典Mysql公司开发的一个轻量级关系数据库管理系统,现隶属于Oracle,Mysql由于规模小、速度快、总成本低而被广泛应用于中小企业网站。MySQL提供了多种数据库引擎,每种引擎都有不同的优势,适合不同的应用,用户可以选择最合适的引擎来获得最高的性能,并且可以处理更多它支持的数据事务、触发器、MySQL视图等。3详细设计与优化详细设计阶段的基本目标是决定酒店系统的实现方法。也就是说,在该阶段的设计工作之后,需要获得目标系统的准确描述,再将描述通过编码的程序实现。详细设计的目的不仅是在逻辑上准确地实现每个模块的功能,而且尽可能简单地完成设计。3.1系统总体设计思想拥有一个完备的设计体系结构,为系统的整体开发打下一个良好的基础。一个正确的设计思想,得心应手的开发工具与环境能够充分的发挥系统的优点。根据当前设计好的系统功能,为了确保服装销售系统的可用性、安全性、连续性和相对稳定性,系统采用Java和JavaScript开发语言进行前台和后台管理开发,并使用MySQL数据库对数据的配置环境,并进行系统的环境搭配置,集成环境的搭建,数据库可视化处理,然后对系统进行了线上实施。3.2系统功能结构服装销售系统分为前台用户采购系统和后台管理员管理系统,前台管理由用户对商品进行操作,后台管理由管理员对于数据分析、商品、用户信息等功能进行操作。前台用户,进入首页,通过索引栏根据自己的需求选择如何查找商品。游客用户仅限浏览商品,如果游客想要购买商品,必须通过系统验证,通过表单要求进行用户注册,注册完毕进行用户登录,成为系统用户后,用户就可以进入商品详细页面将商品添加至购物车。后台管理,管理使用管理员身份在管理员登录界面进行登录操作,身份验证无误后进入后台管理。在后台管理系统中可以查看对用户和商品的系统管理。3.3功能描述3.3.1游客功能描述游客进入系统首页,查看商品信息,检索商品,通过服装分类查看该类别商品,注册成为系统会员。3.3.2会员用户功能描述进入系统首页,通过右上角登录按钮进行用户登录或修改密码(需要通过邮箱进行修改),用户验证身份完毕后即可进去系统进行商品的选择,进入商品详情页面点击Add按钮就可以添加商品到购物车,生成用户订单。注册功能:进入首页,通过右上角注册按钮进行注册,按照表单要求填写对应信息即可。登录功能:进入首页,通过右上角登录按钮,输入用户名和密码进行登录。密码修改功能:点击右上角登录按钮,进入页面,通过邮箱验证进行密码修改。浏览功能:根据用户要求可通过索引栏进行全部商品的浏览,也可以按照商品分类进行商品的浏览。购买商品功能:点击商品进入商品详情页面,选择适合自己的商品尺码、购买数量,点击Add按钮添加至购物车,并进去购物车进行支付。3.3.3后台管理员功能描述通过管理员身份进入后台管理,主要功能分为管理会员功能和管理服装功能。会员列表:通过会员列表可以对会员的个人信息、密码进行修改,以及删减会员操作。会员购买商品列表:查看会员购买商品订单情况,通过订单编号查询订单,以及删减订单操作。服装列表:查看商品信息,通过商品名称查找商品,并对商品进行删改功能。添加商品:添加商品,对商品的名称、单价以及商品种类进行编辑。4系统实现4.1用户功能实现用户登录/注册功能实现界面,如下图4-1与4-2所示:图4-1用户注册功能界面图4-2用户登录功能界面导航分类查找功能实现界面,如下图4-3所示:图4-3导航分类查找功能实现界面通过ID查找商品,如下图4-4所示:图4-4通过ID查找商品功能界面通过商品名称查找服装,如图4-5所示:图4-5通过商品名称查找服装界面购物车界面如下图4-6所示:图4-6购物车界面4.2管理员功能实现管理员登录功能实现如下图4-7所示:图4-7管理员登录界面管理员查询用户列表界面如下图4-8所示:图4-8管理员查询用户列表管理员对用户信息进行更新操作,如图4-9所示:图4-9管理员更新用户信息功能界面 管理员删除用户,如图4-10所示:图4-10管理员删除用户功能 通过订单列表查询订单并删除,如图4-11所示:图4-11删除订单功能管理员添加商品,如图4-12所示:图4-12管理员添加商品功能5结论通过这次对服装销售项目的设计以及实现过程,我从中学习到很多开发系统方面的只是与技术,对于开发语言有了进一步的了解与巩固,更加熟练了数据库的运用,对数据的处理有了更熟练的操控。通过此次系统的设计与实现让我对SSM框架有了一定的了解。同时,我认识到软件开发是一个严谨的过程,完善的计划是一个良好程序的前提,让项目更加清晰,少出错误。本系统的优点是界面简单、明了且易于管理。后期维护是一个系统能够发布的保障,本系统后端采用了Java编程语言,前端采用HTML进行页面处理,CSS进行属性和样式的控制,JavaScript进行数据交互,浏览器的响应以及事件的处理。数据库采用MySQL数据库进行数据处理和操作。整个系统的运行环境相对简单。但是本系统仍然存在很多缺陷,由于本身技术不够过硬,导致很多功能不能更加精进与完善。系统页面设计上虽然简介易于操作,但总体不够美观,达不到预期效果,所以在以后的学习和工作中要巩固基础知识,熟练掌握编程语言,加强自己在框架领域的学习。参考文献孔月萍,魏东冬,芦婷婷,温勇涛.基于SSH框架的网络服装销售系统设计与实现[J].数字技术与应用,2017(01):190.DOI:10.19695/12-1369.2017.01.120.缪晓燕,傅美琪.基于ASP.NET的服装销售系统的设计与开发[J].软件工程师,2014,17(04):8-10.朱涵杰.基于Web网上服装销售系统的设计与实现[D].电子科技大学,2013.吴晓珊,曹旭东,王森,魏文龙.基于B/S架构的管理系统软件开发[J].计算机测量与控制,2019,27(02):123-128.DOI:10.16526/ki.11-4762/tp.2019.02.028.附录登录注册功能实现源代码:Controller控制器@Controller@RequestMapping("/user")publicclassUserController{@Autowired@Qualifier("userServiceImpl")privateUserServiceuserService;@RequestMapping("/register")publicStringuserRegister(Useruser){userService.userRegister(user);return"redirect:/shopping/html/index.jsp";}}商品相关功能Contreoller控制器@Controller@RequestMapping("/cloth")publicclassClothController{@Autowired@Qualifier("ClothServiceImpl")privateClothServiceclothService;/*通过服装导航栏分类查找商品*/@RequestMapping("/queryCloth")publicStringqueryCloth(Stringid,StringstartIndex,HttpServletRequestrequest){Mapmap=newHashMap();StringclothSort=(String)request.getSession().getAttribute("clothSort");if(id!=null&&clothSort==null){map.put("clothSort",id);}elseif(clothSort!=null){map.put("clothSort",clothSort);}if(startIndex==null){startIndex="0";}map.put("startIndex",Integer.parseInt(startIndex));map.put("pageSize",9);List<Cloth>clothList=clothService.queryCloth(map);intclothCount=clothService.queryClothCount(map);intclothTitle=clothCount/9;request.getSession().setAttribute("clothSort",id);request.getSession().setAttribute("clothTitle",clothTitle);request.getSession().setAttribute("clothCount",clothCount);request.getSession().setAttribute("clothList",clothList);return"redirect:/shopping/html/category.jsp";}通过商品ID查询服装*/@RequestMapping("/queryClothById")publicStringqueryClothById(Stringid,HttpServletRequestrequest){Clothcloth=clothService.queryClothById(Integer.parseInt(id));request.getSession().setAttribute("clothByID",cloth);System.out.println(cloth);return"redirect:/shopping/html/detail.jsp";}/*通过商品名称查询服装*/@RequestMapping("/queryClothByName")publicStringqueryClothByName(StringclothName,HttpServletRequestrequest){StringstartIndex=null;Mapmap=newHashMap();StringclothSort=null;Stringid=null;if(id!=null&&clothSort==null){map.put("clothSort",id);}elseif(clothSort!=null){map.put("clothSort",clothSort);}if(startIndex==null){startIndex="0";}map.put("startIndex",Integer.parseInt(startIndex));map.put("pageSize",9);List<Cloth>cloths=clothService.queryCloth(map);List<Cloth>clothList=newArrayList<Cloth>();for(Clothcloth:cloths){if(cloth.getClothName().contains(clothName)){clothList.add(cloth);}}request.getSession().setAttribute("clothSort",id);request.getSession().setAttribute("clothTitle",null);request.getSession().setAttribute("clothCount",null);request.getSession().setAttribute("clothList",clothList);return"redirect:/shopping/html/category.jsp";}}订单相关功能Controller控制器@Controller@RequestMapping("/consume")publicclassConsumeController{@Autowired@Qualifier("ConsumeServiceImpl")privateConsumeServiceconsumeService;@Autowired@Qualifier("ClothServiceImpl")privateClothServiceclothService;/*购物车*/@RequestMapping("/queryConsume")publicStringqueryConsume(HttpServletRequestrequest){Useruser=(User)request.getSession().getAttribute("user");List<Consume>consumeList=consumeService.queryConsume(user.getUserID());intsum=0;for(Consumeconsume:consumeList){intconsumeCID=consume.getConsumeCID();Clothcloth=clothService.queryClothById(consumeCID);consume.setCloth(cloth);sum+=consume.getConsumeSum();}request.getSession().setAttribute("ConsumeClothList",consumeList);System.out.println(consumeList);request.getSession().setAttribute("sum",sum);return"redirect:/shopping/html/order.jsp";}}管理员登录Controller控制器@ControllerpublicclassAdminController{@RequestMapping("/adminLogin")privateStringadminLogin(Stringusername,Stringpassword,HttpServletRequestrequest){/*通过equals方法限制管理员密码,管理员只能输入admin作为密码进行登录操作。*/if(username.equals("admin")&&password.equals("admin")){return"/admin-index";}else{request.setAttribute("adminMsg","账号密码错误");return"/admin-login";}}}Controller控制器@ControllerpublicclassAdminUserController{@Autowired@Qualifier("userServiceImpl")privateUserServiceuserService;/*管理员查询用户列表*/@RequestMapping("/AdminQueryUserList")privateStringAdminQueryUserList(HttpServletRequestrequest,StringpageNumStr,StringpageSizeStr,StringuserRname){if(StringUtils.isBlank(pageNumStr)){pageNumStr="1";}if(StringUtils.isBlank(pageSizeStr)){pageSizeStr="5";}if(userRname==null){userRname="";}intpageNum=Integer.parseInt(pageNumStr);intpageSize=Integer.parseInt(pageSizeStr);inttotalCount=userService.queryUserListCount(userRname);inttotalPage=totalCount%pageSize==0?totalCount/pageSize:totalCount/pageSize+1;intindex=(pageNum-1)*pageSize;List<User>userList=userService.queryUserListPG(index,pageSize,userRname);PageBean<User>pageBean=newPageBean<User>();pageBean.setPageSize(pageSize);pageBean.setPageNum(pageNum);pageBean.setTotalPage(totalPage);pageBean.setList(userList);pageBean.setTotalCount(totalCount);request.setAttribute("userList",userList);request.setAttribute("userRname",userRname);request.setAttribute("pb",pageBean);return"/user-table";}/*管理员对用户信息进行更新操作*/@RequestMapping("/updateUserA")privateStringupdateUserA(HttpServletRequestrequest,StringpageNumStr,StringpageSizeStr,StringuserRname,StringuserPassword,StringuserSex,StringuserID){userService.updateUserA(userPassword,userSex,userID);if(StringUtils.isBlank(pageNumStr)){pageNumStr="1";}if(StringUtils.isBlank(pageSizeStr)){pageSizeStr="5";}if(userRname==null){userRname="";}intpageNum=Integer.parseInt(pageNumStr);intpageSize=Integer.parseInt(pageSizeStr);inttotalCount=userService.queryUserListCount(userRname);inttotalPage=totalCount%pageSize==0?totalCount/pageSize:totalCount/pageSize+1;intindex=(pageNum-1)*pageSize;List<User>userList=userService.queryUserListPG(index,pageSize,userRname);PageBean<User>pageBean=newPageBean<User>();pageBean.setPageSize(pageSize);pageBean.setPageNum(pageNum);pageBean.setTotalPage(totalPage);pageBean.setList(userList);pageBean.setTotalCount(totalCount);request.setAttribute("userList",userList);request.setAttribute("userRname",userRname);request.setAttribute("pb",pageBean);retur

温馨提示

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

评论

0/150

提交评论