欢迎投稿

今日深度:

对"易购网上商城"项目开发的总结,

对"易购网上商城"项目开发的总结,


本次项目开发的各模块灵感来自于市面上已经成熟的各大电商项目(网上商城)、例如淘宝京东。项目开发时间为2020/2/27—2020/3/28。开发工具前期使用Eclipse创建的Dynamic Web项目(动态web项目),到中期使用IDEA开发工具将项目转为Maven项目继续开发(期间自学了Maven的相关生命周期和使用方法后才决定转为Maven项目)。本项目使用Java语言作为后端开发语言。

此项目所用到的前端相关技术:Html+Css+Js+Layui+JQuery+Ajax+JSTL

后端用到的相关技术与工具:Spring+SpringMVC+MyBatis+MySQL+Tomcat

本项目使用的相关工具与框架版本:IDEA-2019.3  Maven-3.6.0  JDK-1.8  Spring+SpringMVC-5.2.4  MyBatis-3.2.8  MySQL-8.0.19 JSTL-1.2  Tomcat-8.5.41

本项目为大三时期在疫情期间完成,从了解电商项目的基本运营方式到需求分析、数据库关系设计、后端实现、前端设计、前后端交互、上线前准备工作与测试、部署上线等工作均为独立开发,用时一个月左右(因为开发期间的时间也用于做其它事情,加上此为本人第一个使用SSM开发的项目,所以开发时间略长),开发过程中也遇到了许许多多的大大小小的问题,得益于信息网络的发达还好都解决了,后续会列出开发中遇到的问题及我自己的解决方法。

本项目分为两大模块,第一是给客户使用的网上商城,第二是给商城管理员使用的后台管理系统。在开发接近尾声的时候刚好遇上阿里云的高校学生“在家实践”计划的活动,便免费领取了一台ECS用于项目部署上线。项目访问地址:http://39.96.66.218:8080/EasyShopping

本项目拥有网上商城的基本功能,首页展示最新商品(查询十件后台最新添加的商品)、热卖商品(没做商品被购买的总次数,就展示上架最久的5件商品吧)、商品分类展示(导航栏、下面还有各类商品的总数)、商品详情页(商品详细信息、商品的评论)、加入购物车、购买商品(从商品详情页购买、从购物车批量购买)、个人订单列表(可查看详细订单商品、继续支付未支付的订单、删除订单)、个人信息修改(包括头像上传)、购物车查看(删除、购买)、地址管理(增加、删除)、用户对已购买商品进行评论、商品的模糊查询;后台管理系统可允许管理员查看不同等级的管理员信息、查看商品信息(模糊查询商品、修改商品、上架商品)、查看客户信息、查看所有订单列表(可查看订单包含的商品信息)。

通过本项目的开发也让我学习了一些jquery的事件,没学js之前本人对js代码有点反感,但其实只要自己亲手去做一些js事件会发现很有意思,使用js对用户的操作反馈更加人性化,特别是对于开发者来说使用js提交数据更加的灵活,以前只会使用按钮对form表单提交数据,现在可以将提交事件写在js中,不仅能提交数据,还能对数据的合法性按照自己的要求进行效验;使用jquery的ajax可以完美配合spring框架提供的@RequestBody来接收json字符串并将json属性名解析成java类所对应的属性名,使用@ResponseBody可以按自己需求将字符串、java类、List集合、Map集合等数据结构返回给ajax,form表单提交和ajax提交可按照业务需要进行选择。

在Controller控制层主要匹配前端各个请求,接收传来的数据,使用spring管理的业务层bean调用业务层相关方法对数据进行处理,返回给前端相关数据。

在Service服务层主要处理相关业务逻辑,使用spring管理的持久层mapper(或dao)调用持久层相关方法完成相应的业务逻辑,包含与数据库有关的操作也包含与数据库无关的操作。

在Mapper持久层是操作数据库的接口,配合Mapper.xml配置文件对数据库进行各种操作,可以使用mybatis的逆向工程生成各个表的Mapper配置文件和Mapper接口,也可以根据自己业务需求手写sql语句,提供相应的查询结果给服务层。

例(加入购物车实现):

前端判断session会话中有无用户对象(判断用户是否登录),如图:

此处使用jquery的ajax对商品id和购买数量进行post提交,Controller层如图:

 

后台接收到HttpSession、购买商品的数量、商品的id,构造一个购物车对象,用当前登录用户的id作为购物车所属的用户id,调用业务层的添加购物车方法,利用@ResponseBody返回指定字符串给ajax,前端进行弹框提示。

Service服务层的代码如图:

首先调用Mapper持久层的方法根据当前用户的id和商品的id查询该用户的购物车里面是否已经有此件商品。如果有,便更改此购物车对象的商品数量为已添加数量与新添加数量之和,并调用持久层的购物车更新方法更新数据库;如果没有,直接调用持久层的添加购物车方法添加一条购物车数据到数据库。

通过此例可以看出使用ssm框架开发的优点,各层只负责做自己的工作,由spring管理并提供各层bean实例,起到连接各层的作用,每一个模块只做一件事,各模块提供最小限度的接口。如此一来便可以实现高内聚和低耦合。

 

 

 

www.htsjk.Com true http://www.htsjk.com/Mysql/42656.html NewsArticle 对易购网上商城项目开发的总结, 本次项目开发的各模块灵感来自于市面上已经成熟的各大电商项目(网上商城)、例如淘宝京东。项目开发时间为2020/2/272020/3/28。开发工具前期使用...
相关文章
    暂无相关文章
评论暂时关闭