信息化时代的到来伴随着居民消费水平的改善和提升,科技使得人们的生活越来越方便。尤其是互联网技术的发展在近期时间内取得了较大的进展,无论是对于线上或是线下都不仅是在基础功能运用上,还是在定位等强化功能上都取得了不错的结果。二十一世纪之后,人们开始逐渐步入小康家庭,所以对于日常生活质量的要求不仅有了提升而且还会想要更加的方便快捷。针对于这一目的来说,网络购物逐渐变成近几年来最流行最普遍的消费方式。线上购物对于商家来说不仅节约了门店房租成本,而且节省了更多的人力物力资源;同时对于买家来说,可以足不出户就满足自身的购物需求。对于巧克力来说,实际上有着多种多样的口味,在线下受货架的限制不能展示更多,所以这是一款针对于巧克力的销售系统的设计。
本次销售系统设计的实现是基于Java的化妆品系统,通此系统使用主流的Java语言、并结合JSP开发技术,采用MySQL关系型数据库,主要包含,化妆品管理,化妆品展示,化妆品在线搜索,以及商品管理,活动管理,通过对系统进行设计,完成化妆品的销售工作。
关键词:化妆品,购物,JSP,Mysql,Java
本系统开发采用技术为JSP、Bootstrap、Ajax、SSM、Java、Tomcat、Maven
此文章为本人亲自指导加编写,禁止任何人抄袭以及各类盈利性传播, 相关的代码+部署+论文+ppt+代码讲解+答辩指导文件都有可私要-
计算机专业毕业设计任何项目-程序-论文-想单独指导的可以私我
With the advent of the information age, with the improvement and promotion of residents' consumption levels, technology has made people's lives more and more convenient. In particular, the development of Internet technology has made great progress in the recent period. Both online and offline have achieved good results not only in the use of basic functions, but also in enhanced functions such as positioning. After the 21st century, people began to gradually enter the well-off families, so the requirements for the quality of daily life have not only improved, but also want to be more convenient and faster. For this purpose, online shopping has gradually become the most popular and common way of consumption in recent years. Online shopping not only saves store rent costs for merchants, but also saves more human and material resources; at the same time, for buyers, they can meet their own shopping needs without leaving home. For chocolate, there are actually a variety of flavors, and offline restrictions on the shelves cannot display more, so this is a design for a chocolate sales system.
The realization of the sales system design is based on the Java cosmetics system, through this system using the mainstream Java language, combined with JSP development technology, using MySQL relational database, mainly including, cosmetics management, cosmetics display, cosmetics online search, as well as commodity management, activity management, through the design of the system, complete the sales of cosmetics.
Keywords: cosmetics, JSP,Mysql,Java
第1章 绪论
1.1课题的来源及意义
我国最近在经济和科技方面发展的越来越迅速,随着科技的发展,人们对各行各业的需求也日益增多。为了增强竞争力,满足人们的需求,许多商家都抓住了这次发展机遇,通过不断的探索和改进找到适合自己的发展模式。在这个处处充满计算机技术的年代,一些商家如果抓不住机遇,一但落后的话就会错失良机,所以许多有远见的企业都在借助计算机的力量,使与计算机结合的销售模式成为了一种普遍的方式。对于巧克力这种种类丰富的行业来说,计算机技术可以发挥其最大的作用。
1.2国内外研究现状
近几年线上购物所举办的“双十一”和“双十二”等活动日益兴起,这种活动优惠力度大,对商家及消费者来说是双赢的活动,况且每次活动时线上的交易额都远远大于线下实体店销售额,所以这种消费模式渐渐成为了人们的主要消费方式。是什么原因造成这种差异呢?首先从快捷方面来说,平时忙于上下班的上班族们也可以在休息之余挑选自己心仪的商品,可以在任何时间任何地点实现自由购物。同时线上购物也成就了逐渐发达的物流行业,网购商品在几天内就会到达购买者的手上,为消费者提供了全方位便利的购物体验。在消费者感到便利的同时,也节省了商店门店的成本支出,同时还增加了更广阔的消费渠道。其次在合理化方面,消费者可以根据具体的需求,筛选出理想的购物商品,结账时也无需费力排队,这就是线上购物之所以能够成功的理由。它能在满足消费者需求的同时还为商家提供更低的成本以及更广泛的销售渠道,实现双方互惠互利的局面。
1.3本文研究内容
本系统主要研究内容为化妆品销售系统,化妆品销售系统的实现以及管理,本系统主要通过java的语言开发,jsp web页面,idea操作系统,Navicat以及SQL数据库进行实现。在整个系统设计中通过对化妆品销售系统的前期需求调研对市场上已有系统的优缺点分析,对本系统所采用的技术以及可行性分析,然后通过对系统的梳理,对数据库模型以及ER图进行设计,系统主要核心功能包括化妆品商品管理,会员管理,化妆品展示,商品搜索,下单,购物车以及相关订单的处理,用户的注册以及登陆等,通过对各个角色分析完成系统主要功能设计,最后对系统功能进行测试完善。
第2章 相关技术简介
2.1Java介绍
Java目前最常用的jdk为1.8,java开发系统和网站主要是通过对jar包的引用,jar包中包含很多的开源的封装的方法和类,可以对一些常规的数据进行处理,java的底层为c++,但java却除去了一些底层的东西,因此java的开发更为简单,无需开发者对底层的原理性进行研究,java作为面向对象的语言,通过对类的定义和调用进行处理,而类中的函数或者是变量都可以看作是java的对象中的特性,java最常用的两个jar包为utils和lang,java作为可以扩展的语言,它的可行性和可靠性都是非常强的,java无需关注对一些异常以及垃圾回收的处理,可以通过try,catch的形式进行捕捉。
2.2SSM框架介绍
Springmvc:springmvc主要是对控制层的请求url进行处理,在前端页面发送请求后需要找到后台对应的路由信息,根据路由的指向,然后进行业务层的处理,springmvc作为控制层可以对一些日志的拦截处理,以及一些开发错误信息日常的信息进行搜集集体处理,在接口层通常采用restful进行定义,springmvci由于时基于rest风格的,首先可以在url路径上进行参数的设定,也可以通过requestbody对参数进行对象化封装直接进行装载,springmvc类似于之前架构的struts,struts是基于对象的拦截url定义,而springmvc是基于函数的片段化拦截,因此更为的灵活,且参数化,一个是基于整个对象变量,而springmvc是基于各自的函数变量。
Spring:spring作为java的底层架构,彻底的对java的对象定义进行颠覆,采用了bean的注入方式进行新建,且可以定义动态代理类进行事务的处理,spring可以处理很多的事务,例如文件的上传,以及一些常规实体compontent类的定义,且在spring中开启了类的注解形式,通过注解的方式可以进行类的关联,且可以进行切面对类的扫描,类可以整个的都交给spring进行处理,且spring可以集成很多的框架,例如hibernate和mybatis等。
Mybatis:mybtis通常是跟一些关系型数据库进行数据的处理,特别是在mysql和sqlserver的处理上,mybatis可以对sql进行校验,在定义时通过对mapper与xml进行对于,然后通过id与参数进行关联和传输,对底层的业务进行封装处理,通过mybatis将sqlsessionfactory进行了封装,这样解放了开发者,避免了一些多线程处理事务的繁琐流程。而另一个数据库处理框架hibernate,则直接自动生成sql,在一定程度上昂也是基于面向对象开发,而mybtis作为半自动orm架构也使得底层查询更为的灵活。
2.3Springmvc介绍
Springmvc的特点在于基于方法的路由中转,通过在controller中的函数定义requestmapping,将url与函数进行匹配,通过在url中动态的定义变量,通过${}对传输的变量进行获取,相比于最开始的struts,springmvc没有路径配置xml,且struts是基于类的,因此在类中的变量都是相通的,可以共享的,springmvc也是基于mvc三层架构设计,通过将界面层与后端service层进行分割,对代码进行分离,springmvc也是基于spring架构进行开发的,基于spring的切面编程的原理,对controller层的每个路由进行拦截中转处理。
第3章系统分析与总体设计
3.1系统可行性分析
1、技术可行性:在当前开发框架下,技术得到飞速发展, Java技术更加盛行,通过Java中的后台SSM框架,利用控制层中的restful风格进行URL定义,在mybatis中通过mapper与XML的匹配定义,建立动态机制,通过SQL拼接完成半自动化数据处理。
2、操作可行性:系统开发前期,只需要几台服务器,通过Java技术以及跨平台部署,仅仅需要几名运维人员对流量数据进行监控,对可能存在的待机情况或者是数据爆发情况进行监控,极大减少了人力成本,依靠技术来实现销售量的提升。
3.2系统功能分析
在整个系统设计中通过对化妆品销售系统的前期需求调研对市场上已有系统的优缺点分析,对本系统所采用的技术以及可行性分析,然后通过对系统的梳理,对数据库模型以及ER图进行设计,系统主要核心功能包括化妆品商品管理,会员管理,化妆品展示,商品搜索,下单,购物车以及相关订单的处理,用户的注册以及登陆等,通过对各个角色分析完成系统主要功能设计,最后对系统功能进行测试完善。
3.3系统数据分析
依据前期的功能梳理以及和各个模块之间的业务联系,绘制数据库图,主要是对各个表之间进行关联以及各个图表的属性进行详细划分,具体E-R图如图3-1所示:
图3-1系统E-R总图
3.4 系统功能设计
化妆品销售系统功能模块主要分为前台用户端和后台管理端,前台和后台主要通过商品信息和订单进行关联。
系统功能模块图如图3-2所示:
图3-2系统模块总图
前台用户端具体模块图如下3-3所示:
图3-3系统前端模块图
后台管理端具体模块如图3-4所示:
图3-4系统后端模块图
3.5数据库设计
本系统采用MySQL数据库,通过对前期的数据量分析,以及对数据权限分析,对数据的关联查询和数据的业务存储进行选择,最后选择开源的mysql,此系统共包含7张表。
1.平台会员信息表(users)
表内主要存储化妆品销售平台的注册的所有会员信息如表3-1所示。
表3-1会员信息表
属性 | 数据类型 | 存储最大 | 定义主键 | 备注 |
qkluserId | int | 4 | 是 | 用户主键 |
qklUsername | varchar | 45 | 用户登录名 | |
qklPassword | varchar | 100 | 密码加密 | |
qklRegtime | Date | 注册时间 | ||
qklEmail | varchar | 80 | 注册邮箱号 | |
qklephone | varchar | 11 | 注册电话 |
2.平台化妆品商品信息表(salegoods)
存储在平台的化妆品的信息,如表3-2所示。
表3-2平台化妆品商品表
属性 | 数据类型 | 存储最大 | 定义主键 | 备注 |
salegsId | Int | 4 | 是 | 自增生成id |
salegsName | varchar | 100 | 化妆品名称 | |
salegPrice | Int | 45 | 化妆品价格 | |
salegNum | Int | 4 | 库存化妆品 | |
salegUpTime | Date | 上架时间记录 | ||
salegtype | Int | 4 | 一级所属 | |
erjitype | Int | 5 | 类型 | |
salegDesc | varchar | 50 | 化妆品介绍 | |
salegActid | Int | 4 | 促销活动 | |
salegPhoto | file | 120 | 图片关联 |
3.后台业务员操作信息表(manager)
用于存储维护此平台数据的业务员如表3-3所示。
表3-3业务员信息表
属性 | 数据类型 | 存储最大 | 定义主键 | 备注 |
yewuId | Int | 6 | 主键 | 业务员编号id |
yewusuer | varchar | 20 | 业务员登录名 | |
yewupwd | varchar | 40 | 登录密码 |
4.促销季打折活动信息表(active)
包含一些节假日的优惠活动存储信息,包含一些折扣和满减的数据等如表3-4所示。
表3-4促销折扣满减信息表
属性 | 数据类型 | 存储最大 | 定义主键 | 备注 |
cuxiaoId | Int | 8 | 主键 | 促销id |
cuxiaoname | varchar | 90 | 活动力度名称 | |
cuxiaodes | varchar | 80 | 优惠介绍 | |
discount | double | 9 | 优惠满减数字 | |
cuxiaofullPrice | Int | 4 | 总消费够金额 | |
cuxiaoreducePrce | Int | 4 | 扣除打折金额 | |
cuxiaofullNum | Int | 6 | 优惠数量 | |
cuxiaoreduceNum | Int | 6 | 最大折扣数量 |
5.商品添加用户购物车(buycart)
包含用户添加到购物车存储的一些待购物信息如表3-5所示。
表3-5用户待下单购物车表
属性 | 数据类型 | 存储最大 | 定义主键 | 备注 |
goumairenid | Int | 6 | 主键 | 所属编号 |
salegsid | Int | 5 | 下单化妆品 | |
tianjiaDate | Date | 购物车日期 | ||
salegNum | Int | 4 | 下单数量 |
6.会员购买化妆品下单表(orders)
存储会员购买化妆品后的下单信息如表3-6所示。
表3-6会员下单信息表
属性 | 数据类型 | 存储最大 | 定义主键 | 备注 |
goumaiid | int | 6 | 主键 | 生产编号 |
gouwucheid | Int | 4 | 所属购物车 | |
Salegsid | Int | 7 | 销售化妆品 | |
gouNum | Int | 4 | 下单数量 |
7.用户购买化妆品后评价表(pjcomment)
存储用户在购买和下单后的一些消费体验留言信息如表3-7所示。
表3-7评价表
属性 | 数据类型 | 存储最大 | 定义主键 | 备注 |
tiayanid | int | 4 | 主键 | 生成编号 |
huiyuanid | Int | 6 | 当前评价人 | |
salegid | Int | 4 | 所属商品 | |
dascore | Int | 3 | 用户评分 | |
pjneirong | Varchar | 45 | 说明评价 | |
pingjiatime | Date | 记录时间 |
第4章系统实现
4.1前台登录
在系统中会员端属于前台的登录,可以通过login.jsp进入到登录页面,但在登录前需要先进行注册,需要通过将用户的基本信息,一些账号以及邮箱等,页面中通过输入信息后,将信息通过ajax提交到后台的控制层,控制层对注册信息进行校验,对账号信息重复以及长度等进行校验,完成后存储到数据库。
图4-1 用户注册界面
在登录界面,可以通过输入个人的账号信息以及动态的校验码进行登录,校验码可以进行实时的刷新,可以,通过前端的JS对输入的长度以及字符进行设置校验,输入完成后提交后台进行校验,主要是通过跟数据库user表进行匹配,然后返回匹配结果,校验存在则登录完成,通过session将信息进行保存服务器端。
图4-2 用户登录界面
4.2商品展示
在用户进入到首页时,首先看到的是巧克力商品的分类展示,其实是通过在后台商品的数据处理层,获取到商品信息后进行分组,通过googcontroller,对商品调用信息,然后通过list对数据进行组合,返回到页面,页面需要对数据进行展示通过将数据的返回页面,然后页面对数据进行处理。
图4-3 商品展示界面
图4-4 商品详情界面
4.3购物车
在首页可以对当前用户订单进行展示,可以通过对商品进行订单表查询,通过page分页的方式进行获取数据,通过数据库中select * from order where userid= limit进行分页展示,然后对img图片进行标签展示,通过css样式进行界面优化如图4-5所示。
图4-5 购物车界面
4.4在线下单
在用户购买时,可以点击添加到购物车,通过sessio获取到当前userid以及当前的购物商品goodsid,通过inert插入到商品购物车表,如图4-3所示。
图4-6 订单结算
4.5商品购买评价
用户在收到货品后可以进行订单的完成操作,通过update订单表将状态进行更新,更新完成后,可以自动跳转到评价界面,可以选择评分以及评价描述,然后进行保存,通过dao层进行存储。在评价时对订单状态进行判断,订单状态为1的时候,证明时已收货才可以进行评价,通过调用pingjiacontroller将评价信息以及评分等进行service存储,后期可以根据订单号中的商品编号进行展示。
图4-9 订单评价界面
4.6商品管理
在后台端可以对商品进行信息的维护,可以通过调用goods表,对注册的所有的在线销售的进行查询,通过goodsdao层对数据进行筛选,通过findbypage方法对表进行分页selectByExample(new goodsExample());通过在new goodsExample进行参数化设置然后进行查询。
图4-10 商品管理界面
4.8订单展示
用户订单结算后,订单状态又可以分为多种,管理员端可以查询所有订单信息,未发货,已发货,已完成,所有根据不同的搜索条件可以对订单进行查询,可以根据传输的参数不同,然后对不同的订单进行过滤,通过order.jsp以及orderservice和dao层对数据进行层层的传递展示。后台端可以通过发货等对订单进行状态更新。
第5章系统测试
化妆品销售网站的设计已经初步完成,根据预定的每个界面的功能已经把整个系统的界面构建起来了,整个系统的设计已经到了最后一个关键步骤,需要对现在已经完成的系统做一个最后的测试,这个测试不仅仅要测试该系统的功能能不能实现,还要测试该系统整体的逻辑结论,看有没有不符合实际情况的。对于在测试过程中出现的问题,还要经过不断的修改最终能够达到一个不错的结果。当整个系统都测试结束,并且都修改完以后,在系统就已经能够正式上线了。