本平台系统基于现在流行的Spring、SpringMVC、Mybatis的Web项目框架开发的一个校园商铺展示平台。系统通过微信端的内置 浏览器和服务器端进行交互的开发模式,用户只需要关注微信公众号就能快速便捷的进行登录、浏览、查看商铺和商品信息的操作。另一方面方面,需要将该系统打包发布到云服务器上,这样就不用像客户端和服务器端的交互模式一样需要花费人力去现场安装、配置、维护设备。
系统的前端展示模块和店家后台管理模块都是SUI Mobile框架进行界面设计,超级管理员模块是用EasyUI进行界面设计。系统的后台用Mybatis ORM框架实现数据的持久化,用SringMVC框架来实现MVC模式的设计,数据库用比较常用的MySQL 5.7,并用JDBC进行数据库访问。整体就用Spring框架的依赖注入、控制反转的特性进行管理。
□□关键词:Java、Spring、SpringMVC、Mybatis、校园商铺、展示系统
Abstract
The platform system is based on the now popular Spring, SpringMVC, Mybatis Web project framework development of a campus store display platform.The system USES the development mode of interaction between the built-in browser of WeChat terminal and the server terminal. Users only need to pay attention to the WeChat public account to quickly and conveniently log in, browse, and view the information of shops and commodities.On the other hand, the system needs to be packaged and distributed to the cloud server, so that it does not require the human labor to install, configure, and maintain the equipment on the spot as in the client-server interaction mode.
The front-end display module of the system and the store background management module are designed by SUI Mobile framework, while the super administrator module is designed by EasyUI.In the background of the system, Mybatis ORM framework is used to achieve
data persistence, and SringMVC framework is used to realize the design of MVC pattern. MySQL 5.7, which is commonly used in the database, and JDBC is used for database access.The whole thing is managed with the dependency injection, inversion of control features of the Spring framework.
Key words:Java、Spring、SpringMVC、Mybatis、Campus shops、display
system
目 录
第1章 绪论 ........................................................................................................................................... 3
1.1 论文研究背景与意义 ...................................................................................................... 3 1.2 研究现状................................................................................................................................. 4 1.3 课题研究的主要内容 ...................................................................................................... 4 1.4 本章小结................................................................................................................................. 5 第2章 相关技术简介 ...................................................................................................................... 5
2.1 Java 技术 .............................................................................................................................. 5 2.2 开发工具简介 ...................................................................................................................... 5
2.2.1 IntelliJ IDEA ...................................................................................................... 5 2.2.2 MySQL ........................................................................................................................... 6 2.2.3 SUI Mobile前端框架........................................................................................ 6 2.2.4 Spring框架 ............................................................................................................. 6 2.2.5 SpringMVC框架 ..................................................................................................... 6 2.2.6 Mybatis框架 .......................................................................................................... 6 2.3 本章小结................................................................................................................................. 7 第3章 系统分析 ................................................................................................................................ 7
3.1 项目可行性分析................................................................................................................. 7 3.2 项目主要业务分析 ........................................................................................................... 7 3.3 项目功能性需求分析 ...................................................................................................... 7
3.3.2 店家管理系统的功能性需求分析 .............................................................. 7 3.3.3 超级管理员系统的功能性需求分析 ......................................................... 8 3.4 本章小结................................................................................................................................. 8 第4章 系统设计 ................................................................................................................................ 8
4.1 系统架构设计 ...................................................................................................................... 8 4.2 系统总体设计 ...................................................................................................................... 9 4.3 数据库设计 ......................................................................................................................... 10
4.3.1 数据库需求分析.................................................................................................. 10 4.3.2 数据库逻辑表设计 ............................................................................................ 11 4.3.3 数据库逻辑结构设计 ....................................................................................... 15 4.4 本章小结............................................................................................................................... 15 第5章 系统实现 .............................................................................................................................. 16
5.1 微信登录原理与实现 .................................................................................................... 16 5.2 前台展示系统模块的设计与实现 ......................................................................... 17 5.3 店家管理系统模块的设计与实现 ......................................................................... 19 5.4 超级管理员系统模块的设计与实现 .................................................................... 22 5.5 相关文件配置 .................................................................................................................... 25
5.5.1 kaptcah组件配置.............................................................................................. 25 5.5.2 SSM框架配置 ........................................................................................................ 27
第6章 总结 ......................................................................................................................................... 28 参考文献 ................................................................................................................................................. 29 致谢 ............................................................................................................................... 错误!未定义书签。
第1章 绪论
1.1 论文研究背景与意义
随着高等院校规模的扩大,校园周边的商铺也越来越多,学生怎么更加容易
的了解周边商铺的信息以及店家怎么向学生展示自己店铺的商品成为了值得思考的问题。
校园商铺展示系统的出现可以很好的解决这个问题,校园商铺展示系统一方面可以让学生更加容易知道附近的商铺以及商铺售卖的货物;另一方面可以让店家提高自己商铺在所属区域的知名度,然后促进商铺内商品的销售。大学校园的消费群体都是学生,所以消费相对来说会比较单一,学生对于认可的商品会持续、重复的购买。这意味着,商家知名度的提升可以使店铺增添不少的购买力。校园商铺不仅给学生提供了方便,同时店家经营商铺也是一个很好的盈利方式。
1.2 研究现状
越来越多的高校的创办,让学生购买力成为了社会中不容忽视一种特殊的购买力量。刚到一个新环境,学生急需一个可以了解附近商铺以及商品展示的平台去了解所需物品,以此来满足自己生活当中的需求。商铺需要一个展示的平台向学生展示自己的商品,以此提高店铺的销售额。
大平台有可能存在的位置不够精确化、物品分类不够细化、店家操作复杂以及支付平台佣金高等缺点。校园商铺刚好拥有操作简单,以学校为单位位置详细精确、物品分类明确的优点,来补足这个市场的空缺。
根据网上调查显示,不少学生对于附近的商铺了解不够详细,这样的信息差降低店家盈利的可能,也增大了学生的不便利程度。因此,校园网上商铺的建设与推广有利于解决市场的需求。
1.3 课题研究的主要内容
学生寻找自己心满意足的商铺,商铺需要提高知名度让学生前来购买,平台本着为需求方以及服务方提供一个便利、安全的平台,以一个桥梁的作用连接双方,让双方享受网络带来的好处,从而达到互利共赢的效果。本平台在调查市场背景的现状的基础上,采用了B/S结构设计系统具体如下:
(1)分析了市场上校园商铺优缺点,根据自己的发现来设计出一款符合市面上的校园商铺展示系统。
(2)分析现在主流的Web开发技术,专门学习了应用IntelliJ IDEA和 Tomcat服务器以及MySQL数据库等开发 WEB 应用的有关知识。同时了解了 MVC软件架构、SSM 框架以提高编程效率和应用系统的质量。
(3)对校园商铺平台进行了全面性的分析,并采用现代建模技术建立用例模型。
(4)系统的总体架构和功能结构的分析和设计,以及数据库表设计和逻辑
结构设计。
1.4 本章小结
本章为本文绪论部分,主要是概述了对于该系统所存在的研究背景以及研究的意义,并且对市面上校园商铺的研究现状进行了分析。最后,对校园商铺展示系统研究的主要内容进行了阐述。
第2章 相关技术简介
2.1 Java 技术
Java是sun公司开发出来的一门面向对象的高级计算机语言,它虽然和C++都有着面向对象的特性,但是却丢弃了C++复杂且难懂的多继承以及指针等概念。Java在吸取C++面向对象的优点的同时,还增加了垃圾回收机制,这样使得开发者不需要像C++一样去手动的释放内存,使用起来更加方便快捷,所以Java语言具有简单易用和功能强大两个特点。
Java语言还有一个强大的特点就是具有无平台性即可移植性。之所以有这个特点是因为Java有个独特的JVM虚拟机,将.java文件编译成.class文件,然后JVM虚拟机的作用是将.class文件转换成为二进制的文件进而去操控系统。JVM虚拟机可以安装在各种平台上,所以我们称Java具有可移植性。
2.2 开发工具简介
2.2.1 IntelliJ IDEA
IDEA 的全称是IntelliJ IDEA,是一个开发者常用的开发工具。因为特别是对很多组件以及插件的支持,令许多程序员对它爱不释手。IntelliJ IDEA在智能提示代码、漂亮的UI界面、代码审查以及创建项目时对项目整合的支持等方面的功能都十分优秀。我觉得很重要的一点是,IntelliJ IDEA在项目的包分层这方面做的比eclipse人性化,在eclipse中重复的包不会帮你自动整合到一个包中,而在IntelliJ IDEA中重复的包会整合到一起,这样使项目的结构更加清晰,更加容易去解读项目结构。不过,有一个很大的缺点就是因为我是用的是学生认证的IDEA,不能将开发的项目用作商用,所以以后要商用的时候需要补足这部分的资金。
2.2.2 MySQL
MySQL是一个开源免费的数据库,后来几经周转之后被现在的Oracle公司收购。MySQL经过一段的时间发展后,它的性能不断地提高,已经能和市面上的数据库争取一席之位。MySQL之前的开源让它积累了一定的优势,让国内许多的企业选择免费且同样优秀的MySQL,放弃收费的其他数据库。
2.2.3 SUI Mobile前端框架
SUI Mobile是阿里巴巴国际UED前端团队出品的移动端UI库。SUI Mobile框架的UI比较像苹果的界面,看起来十分的简洁、大方且漂亮。SUI Mobile比起其他前端框架使用起来更加简单,适合前端不是很好的初学者。它的又一特点是它非常轻量,可以把它下载下来导入项目当中,也可以用框架内提供的国内快速的CDN支持远程调用,并且能很好兼容 iOS 6.0+ 和 Android 4.0+ 的设备。
2.2.4 Spring框架
Spring是一个开源的框架,主要的作用是依赖于Spring的两个特性IOC和
AOP。Spring的IOC是控制反转的意思,指的是开发者和对象之间的控制进行了反转,创建对象由Spring容器接管,从而达到开发者和对象之间的解耦实现控制的反转。Spring的AOP是面向切面的意思,一般的程序运行顺序是从上到下,而Spring的AOP是将程序横切,定义一个切点并在切点前后添加通知,从而实现面向切面的横向编程。
2.2.5 SpringMVC框架
SpringMVC是Spring框架后面开发出来的一个MVC框架,这是Spring为了更好的构建Web应用而开发出来的。SpringMVC是一个典型的MVC框架,是一个纯正的Servlet系统,另外还有一个SpringMVC还有一个优点就是简单、易学。
2.2.6 Mybatis框架
Mybatis的前身是apache的一个开源项目,之后迁移到了Google code之后重新命名为Mybatis。MyBatis是一个实现持久化的ORM框架,Mybatis主要是用作和数据库之间的交互,传递信息进行数据库增删查改的各种操作。Mybatis由于集成了JDBC的各种功能以及参数的配置,让开发者不用费时去配置。另外使用XML和接口的方式映射数据库中的表,可以根据别名的方式将复杂的数据库表以及字段简单化,从而达到更加容易理解项目结构的效果。
2.3 本章小结
本章为系统相关技术简介,主要讲述了系统开发时所需的关键技术与工具的介绍。最后讲述了SSM中的各个框架的介绍,为之后快速的开发提供了便利。
第3章 系统分析
3.1 项目可行性分析
设计校园商铺展示系统,最主要的就是解决学生寻找自己所需的物品、商家推广自家商品多一个渠道。由于面向的是学校的学生以及周边的人员,所以系统的规模不会特别大,并且使用的是成本较低的B/S架构的模式和使用开源的免费的数据库和服务器,所以在经济成本上来说是可行的。从技术上,基于Web的平台的应用更易于实现,网上对于SSM的文档和资料足够丰富,SSM框架技术也能够很快的开发出这样的一款校园商铺展示系统,所以从技术上是可行的。系统中超级管理员审核店家新建的店铺,管理用户的使用状态,防止不法分子在商铺中发布违规以及违法的信息,所以在法律上是可行的。
3.2 项目主要业务分析
本系统主要面向于校园内的学生以及周围的人员,用户微信登录之后进入前端展示系统可以根据区域信息、商铺类别、头条信息来进行筛选店铺,同样进入店铺之后也可以根据区域信息、商品类别来筛选出所需要的商品。店家可以通过微信登录进入店铺后台管理系统进行查看自己所拥有的店铺、新增店铺、更改店铺信息、查看店铺商品、新增商品、删除商品、更改商品信息、新增商品类别、删除商品类别。超级管理员可以在PC端进行登录进入超级管理员后台管理系统,进行头条信息管理、区域信息管理、审核商铺、审核用户操作。
3.3 项目功能性需求分析
3.3.1 前台展示系统的功能性需求分析
查询店铺信息:根据区域信息、商铺类别、头条信息来进行筛选店铺 查询商品信息:根据区域信息、商品类别来筛选商品
3.3.2 店家管理系统的功能性需求分析
查询店铺列表:店家查询自己创建的店铺数量 新增店铺:店家新增加店铺
更改店铺信息:店家更改店铺的信息
查看店铺商品:店家进入其中的一个店铺里面查询商品 新增商品:店家在一个店铺内新增加商品 删除商品:店家在一个店铺内删除商品
更改商品信息:店家在一个店铺内更改商品信息 新增商品类别:店家在一个店铺内新增商品类别 删除商品类别:店家在一个店铺内删除商品类别
3.3.3 超级管理员系统的功能性需求分析
查看头条信息:超级管理员查询所有头条信息 新增头条信息:超级管理员新增头条信息 删除头条信息:超级管理员删除头条信息 更新头条信息:超级管理员更改头条信息 查看区域信息:超级管理员查询所有头条信息 新增区域信息:超级管理员新增头条信息 删除区域信息:超级管理员删除头条信息 更新区域信息:超级管理员更新头条信息
审核店铺信息:超级管理员审核店铺内容,审核通过就修改店铺状态为展示,不符合或违规店铺将保持原状并通知
用户状态管理:超级管理员更改用户的状态,正常或禁用
3.4 本章小结
本章为系统分析部分,对系统的可行性进行了分析,从各个角度分析该系统的开发是可行的;之后对项目的主要业务逻辑和项目功能的需求进行了分析,让整个系统的轮廓更加清晰的展现在我们面前,对之后的开发提供了很大的便利。
第4章 系统设计
4.1 系统架构设计
系统是用常用的MVC架构,通过Spring管理从数据库、持久层、业务层、表现层一层层的操作,对系统的管理更加的便利。
表现层 SrpingMVC
Spring将各层进行整合
通过Spring管理持久层的mapper(相当于dao接口)
通过Spring管理业务层service,service可以调用mapper接口
Spring进行事务控制
通过Spring管理表现层Handler,handle中可以调用service接口
Mapper、service、Handle都是javabean
业务层 Service接口 持久层 Mybatis
MySQL
图4-1 系统体系结构
4.2 系统总体设计
系统主要面向于校园内的学生以及周围的人员。用户微信登录之后进入前端展示系统可以根据区域信息、商铺类别、头条信息来进行筛选店铺,同样进入店铺之后也可以根据区域信息、商品类别来筛选出所需要的商品。店家可以通过微信登录进入店铺后台管理系统进行查看自己所拥有的店铺、新增店铺、更改店铺信息、查看店铺商品、新增商品、删除商品、更改商品信息、新增商品类别、删除商品类别。超级管理员可以在PC端进行登录进入超级管理员后台管理系统,进行头条信息管理、区域信息管理、审核商铺、审核用户操作。
系统功能结构如图4-2所示:
图 4-2 系统功能结构图
4.3 数据库设计
4.3.1 数据库需求分析
数据库的需求主要体现在根据业务要求进行对应的增删查改信息,因此先设计出实体类,然后再根据实体类设计数据库对应的表会使结构更加的清新。所以,根据各个模块的功能需求,设计如下类:
区域类:区域类是存放商铺所在地址的信息类,包括区域ID,区域名称,权重,
创建时间,修改时间。
头条类:头条类是存放头条信息的类,包括头条ID,头条名称,头条链接,图
片,权重,状态,创建时间,修改时间。
本地账号类:用于存储本地登录账号的用户名和密码,包括账号ID,用户名,
密码,创建时间,修改时间,所属用户。
用户类:用户类包含普通用户、管理员和商家信息的类,包括用户ID,用户名
称,用户头像,邮箱,性别,状态,用户标识,创建时间,修改时间,不同用户拥有不同的权限。
商品类:商品类是存储商品信息的类,包括商品ID,名称,描述,商品缩略图,
正常价格,优惠价格,权重,状态,详细图片列表,所属商品类别,所属商铺。
商品类别类:包括商品类别ID,类别名称,权重,创建时间,所属商铺ID。 商品图片类:包括图片ID、详细图、图片描述、权重、创建时间。
商铺类:商铺类是存储商铺信息的类,包括商铺ID,所属商户,所属区域,商
铺所属类别,商铺名称,商铺描述,地址,电话,商铺图片,权重,创建时间,修改时间,商铺状态,公告通知。
商铺类别类:商铺类别类是存储商铺类别信息的类,包括商铺类别ID,商铺类
别名称,商铺类别描述,商铺类别缩略图,权重,创建时间,修改时间。
微信账号类:微信账号类是存储用户微信信息的类,包括微信账号ID,本地用
户ID,微信账号唯一标识ID,创建时间。
4.3.2 数据库逻辑表设计
数据库的逻辑表的设计中,考虑到本系统是服务与学生与商家的,规模不需要很大,所以我选择小巧但各方面也十分优秀的MySQL。
根据4.3.1中的类图设计和数据库需求分析设计出数据库的逻辑表,每个表中都用ID做自增主键,这是因为用到Mybatis的回填主键的功能。表之间相互有联系的用外键联系起来,以及表内其他字段根据需求设定特定的约束。
各个表的具体逻辑结构如下: 1. 区域表(tb_area) 序号 1 2 3 4 5
字段名 area_id area_name Priority create_time last_edit_time 数据类型 int varchar int datetime datetime 长度 2 200 2 主外键 PK UK 是否可空 否 否 否 是 是 描述 自增ID 区域名称,不能重复 权重,默认为0 创建时间 修改时间 2. 头条表(tb_head_line)
序号 1 2 3 4 5 6 7 8
字段名 line_id line_name line_link line_img Priority enable_status create_time last_edit_time 数据类型 int varchar varchar varchar int int datetime datetime 长度 100 1000 2000 2000 2 2 主外键 PK 是否可空 否 是 否 否 是 否 是 是 描述 自增ID 名称 链接 图片 权重,默认为0 状态 创建时间 修改时间 3. 本地账号表(tb_local_auth)
序号 1 2 3 4 5 6
字段名 local_auth_id user_id Username Password create_time last_edit_time 数据类型 int int varchar varchar datetime datetime 长度 10 10 128 128 主外键 PK FK UK 是否可空 否 否 否 否 是 是 描述 自增ID 用户ID,外键 用户名,不能重复 密码 创建时间 修改时间 4. 用户表(tb_person_info) 序号 1 2 3 4 5 6 7 8 9
字段名 user_id Name profile_img Email Gender enable_status user_type create_time last_edit_time 数据类型 int varchar varchar varchar varchar int Int datetime datetime 长度 10 32 1024 1024 2 2 2 主外键 PK 是否可空 否 是 是 是 是 否 否 是 是 描述 自增ID 用户名称 用户头像 用户邮件 用户性别 状态 用户标识 创建时间 修改时间 5. 商品表(tb_product)
序号 1 2 3 字段名 product_id product_name product_desc 数据类型 int varchar varchar 长度 100 100 2000 主外键 PK 是否可空 否 否 是 描述 自增ID 商品名称 商品描述 4 5 6 7 8 9 10 11 12 img_addr normal_price promotion_price Priority create_time last_edit_time enable_status product_category_id shop_id varchar varchar varchar Int datetime datetime Int Int Int 2000 100 100 2 2 11 20 FK FK 是 是 是 否 是 是 否 是 否 图片地址 正常价格 优惠价格 权重,默认为0 创建时间 修改时间 状态 商品类别ID,外键 商铺ID,外键
6. 商品类别表(tb_product_category)
序号 1 2 3 4 5
字段名 product_category_id product_category_name priority create_time shop_id 数据类型 Int Varchar Int Datetime Int 长度 主外键 11 100 2 20 PK FK 是否可空 否 否 是 是 否 描述 自增ID 类别名称 权重,默认为0 创建时间 商铺ID外键 7. 商品图片表(tb_product_img) 序号 1 2 3 4 5 6
字段名 product_img_id img_addr img_desc Priority create_time product_id 数据类型 int varchar varchar Int datetime int 长度 100 2000 2000 2 20 主外键 PK FK 是否可空 否 否 是 是 是 是 描述 自增ID 图片地址 描述 权重,默认为0 创建时间 商品ID,外键 8. 商铺表(tb_shop)
序号 1 2 3 4 5 6 7 字段名 shop_id owner_id area_id shop_category_id shop_name shop_desc shop_addr 数据类型 int int int int varchar varchar varchar 长度 10 10 5 11 256 1024 200 主外键 PK FK FK FK 是否可空 否 是 否 否 是 否 是 描述 自增ID 用户ID,外键 区域ID,外键 商品类别ID,外键 商铺名称 商铺描述 商铺地址 8 9 10 11 12 13 14
Phone shop_img Priority create_time last_edit_time enable_status Advice varchar varchar int datetime datetime Int varcahr 128 1024 3 2 255 是 否 否 是 否 是 是 联系电话 商铺照片 权重,默认为0 创建时间 修改时间 状态 通知 9. 商铺类别表(tb_shop_category) 序号 1 2 3 4 5 6 7 8
字段名 shop_category_id shop_category_name shop_category_desc shop_category_img Priority create_time last_edit_time parent_id 数据类型 Int Varchar Varchar Varchar Int Datetime Datetime Int 长度 主外键 100 1000 1000 2000 2 11 PK FK 是否可空 否 否 是 是 否 是 是 是 描述 自增ID 商铺类别名 商铺类别描述 商铺类别图片 权重,默认为0 创建时间 修改时间 上级ID 10.微信账号表(tb_wechat_auth)
序号 1 2 3 4 字段名 wechat_auth_id user_id open_id create_time 数据类型 Int Int Varchar Datetime 长度 主外键 10 10 80 PK FK 是否可空 否 否 是 是 描述 自增ID 用户ID,外键 openID 创建时间 4.3.3 数据库逻辑结构设计
图 4-2 数据库逻辑结构设计
4.4 本章小结
本章为系统设计部分,详细的讲述了系统的架构设计、系统的总体设计、数据库设计。用SSM的集合框架为基础开发整个系统,分为用户、店家、超级管理员设计相应的功能,并对数据库功能需求进行分析,从而进行进一步的数据库逻辑结构的设计。
第5章 系统实现
本章详细讲述了用户、店家、超级管理员在系统的各自模块的实现和操作流程,前端运用SUI MOBILE和EasyUI框架配合后台的Mybatis ORM框架来进行操作和显示。
5.1 微信登录原理与实现
5-2
在实现各个模块的功能前我们先关注微信测试号进行操作如图5-1、图
图5-1 微信测试号 图5-2 微信测试号
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxd7f6c5b8899fba83&redirect_uri=http://o2o.yitiaojieinfo.com/o2o/wechatlogin/logincheck&role_type=1&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect
将该链接绑定在微信公众号中我是用户的子菜单中(绑定在我是店家的链接role_type=2)。后台从链接这里可以获取到信息码,通过解析信息码可以获取到网页授权特有的接口调用凭证,进而获取到微信用户信息,当存在微信用户信息时就可以进行绑定本地用户等操作。
5.2 前台展示系统模块的设计与实现
用户点击“ 我是用户”菜单跳转到前台展示系统的首页(图5-2),首页的上方会显示头条的轮播图,中间显示商铺类别信息。点击下面我的会弹出侧滑栏(图5-4),然后可以进入绑定账号(图5-5)、修改密码(图5-6)的界面。
图5-3 前台展示系统首页 图5-5 绑定账号界面
图5-4 前台展示系统侧滑栏
图5-6 修改密码界面
用户点击首页中的全部类别或者其中一个类别会根据筛选的条件查询出相应的商铺列表(图5-7)(图5-8),在商店列表的界面中可以根据商铺类别、区域信息以及店铺的名字模糊查询出符合条件的商铺。
图5-7 商店列表界面 图5-8 商店列表界面(有筛选条件)
用户点击商铺列表中的商铺,进入商铺后将商铺的详细信息展示出来(图5-9),并且能根据店铺内店家创建的商品类别以及商品名称的名字模糊查询出符合条件的商品。点击商品列表,进入到商品的详情页,详细的展示了商品的详细信息(图5-10)。
图5-9 商店详情界面 图5-10 商品详情界面
5.3 店家管理系统模块的设计与实现
店家点击图5-2中的“我是卖家”,因为在Spring中设置了拦截器,没有店家信息的session,然后会自动跳到登录界面(图5-11)。登录成功后跳转到商铺列表界面(图5-12),账号绑定、修改密码与前端展示系统对账号的操作一致。
图5-11 登录界面
图5-12 商店列表界面
店家点击增加店铺,进入新增商铺界面(图5-13),输入新增店铺信息并点击提交即可添加新的店铺。点击商铺后面的进入按钮,进入到商铺管理界面(图5-14),商铺管理界面有商铺信息、商品管理、以及类别管理。
图5-13 新增商品界面 图5-14 店铺管理界面
店家点击商铺信息,进入到商铺信息编辑界面(图5-15),店家可以根据自己的意愿修改商铺的具体信息。
店家点击类别管理,进入到类别管理界面(图5-16),在这里店家可以增加或删除该店铺下的商品类别。商品的类别可以在新增商品或者修改商品信息时显示出该店铺下可选的商品类别。
图5-15 商品类别管理界面 图5-16 商铺信息修改界面
店家点击商品管理,进入商品管理界面(图5-17)。
店家点击新增跳转到商品新增界面(图5-18),输入正确的新增商品信息并点击提交,新增的商品信息就会在该店铺的前台展示模块展示出来。
图5-17 商品管理界面 图5-18 商品新增界面
店家点击商品管理界面的编辑按钮,进入商品信息编辑界面(图5-19),修改商品信息。
店家点击商品管理界面的上下架会如(图5-20)所示提醒用户,上架状态会在前端展示模块展示出来,下架状态则是禁止展示状态。点击预览按钮会跳转到前端展示模块的页面进行查看商品显示内容。
图5-19 商品信息编辑界面 图5-20 商品上下架
5.4 超级管理员系统模块的设计与实现
因为超级管理员模块与前台展示模块和店铺后台管理模块的页面之间没有直接的交互,所以超级管理员系统设计成为直接独立在PC端,这样可以更加清晰的看出超级管理员管理的数据。超级管理员主要功能是对头条信息、区域信息、店铺审核、用户封禁的管理。
图5-21是超级管理员的用户登陆界面,用户名、密码输入错误会提醒输入错误;用普通用户和店家登录会提醒没有权限,无法登录。
图5-21 超级管理员的用户登陆界面
登录成功之后会进入到超级管理员模块的首页(图5-22)、(图5-23)
图5-22 超级管理员模块的首页
图5-22 超级管理员模块功能界面
超级管理员点击头条管理,侧边显示头条列表以及头条的详细信息的页面(图5-23)。超级管理员可以进行新增头条、根据头条的状态查询头条列表、更改头条的信息、删除以及批量删除的操作。
图5-23 头条管理界面
超级管理员点击区域管理,侧边显示区域列表以及区域的具体信息的页面(图5-24)。超级管理员可以进行新增区域、更改区域的信息的操作。
图5-24 区域管理界面
超级管理员点类别管理,侧边显示类别列表以及类别的详细信息的页面(图5-25)。超级管理员可以进行新增类别、更改类别信息的操作。
图5-25 类别管理界面
超级管理员点击账号管理,侧边显示账号列表以及账号的详细信息的页面(图5-26)。超级管理员可以进行根据用户名模糊查询、更改用户的用户状态是否禁用的操作。
图5-26 账号管理界面
超级管理员点击商铺管理,侧边显示商铺列表以及商铺的详细信息的页面(图5-27)。超级管理员可以进行根据商铺名模糊查询、商铺ID查询、商铺类别查询、商铺的状态查询、更改商铺的状态是否禁用的操作。
图5-27 商铺管理界面
5.5 相关文件配置
5.5.1 kaptcah组件配置
5.5.2 SSM框架配置
spring-dao.xml
spring-service.xml
mybatis-config.xml
第6章 总结
从市面上看,有许多公司仍然用采用SSM框架技术作为公司的主流技术,所以SSM框架在JavaEE企业级开发仍占据着一定的地位。因为MySQL是开源免费以及小巧,所以在选择数据库的时候优先选择MySQL。Web服务器同样是选择开源的Tomcat,不仅仅是因为它是开源免费的,而是因为我自己接触的也比较多,这样可以节省自己学习的时间成本。鉴于自己本身对前端知识了解很少,不利于自己对前端界面的开发,所以我决定直接寻找一套前端框架去修改。选择SUI MOBILE框架和EasyUI框架,让自己不需要写很多的代码就能容易的做出简洁、
漂亮的界面。
自从选题之后的一段时间里,我一直在思考自己的该用什么样的技术去实现这个校园商铺展示系统。由于当时我正在学习SSM框架,因此决定以SSM框架为基础去扩展实现这个系统,借此来让自己加深对这个框架熟练程度。
因为我是从零开始学习SSM框架,所以一开始的进度十分缓慢,这一度使我的心情变得十分急躁。后来听取了前辈的教诲之后,我认识到了不能指望自己一下子就能做出一个系统出来,还是需要脚踏实地去做好每一个练习和测试。每次做练习和训练的时候,通过查询许多的博客和文档解决了大大小小的问题,我发现自己的自我学习的能力有了很大的提升,逐渐的对SSM框架也更加理解,掌握的更加透彻。
校园商铺展示系统的设计和实现前后用了三个月左右,大部分预期功能都得以实现,而且系统还有很大的扩展性,可随着我的知识储备的提升进一步完善。 例如,在数据库方面可以进行主从同步读写分离的配置和将不常变动的数据加入到Redis缓存当中,这样让系统的提升更高的效率。独立完成这个系统,学到许多开发的经验,让我受益匪浅
参考文献
[1] (奥)科夫勒.MySQL 5权威指南(第3版)[M].杨晓云等译. 人民邮电出版社,2006:19-57 [2] 段江娇;黄震华;陈昕;;基于Web的数据仓库集成环境研究[A];第二十一届中国数据库
学术会议论文集(技术报告篇)[C];2004年 [3] 孙卫琴 李洪成.Tomcat与Java Web开发技术详解[M].电子工业出版社,2004:73-102 [4] 王艳清,陈红.基于 SSM 框架的智能 Web 系统研发设计[J].计算机工程与设计,
2012,33(12):4751-4757.
[5] Justin Couch 等著作.J2EE 宝典[M].电子工业出版社,20021. [6] 郑莉. Java语言程序设计[M].北京:清华大学出版社,2005:27-61 [7] 孙鑫.Java Web开发详解[M].电子工业出版社,2006:383-432 [8] 于亚芳,郭磊. JavaEE框架技术课程建设研究[J]. 电脑知识与技
术,2018,14(20):119-121.
聂艳明,刘全中,李宏利,邹青. 基于开发模型对比的JavaEE课程教学方法研究[J]. 中国信息技术教育,2015(18):107-109.
因篇幅问题不能全部显示,请点此查看更多更全内容