概括
在信息飞速发展的今天,互联网已经成为人们交流信息的重要平台。由于宠物网站每天需要通过互联网发布大量的信息,因此我们开发了基于B/S(浏览器/服务器)模式的宠物网站系统。
本系统采用JJava编程语言、MySQL和SSM框架作为开发技术,实现系统数据的添加、修改、引用和删除。本系统采用组件化的方法,对系统进行划分,分析设计数据库中各个表的增删改查,以及表之间的约束关系,最终开发出满足用户需求的商业级系统实现您的应用程序。
系统界面简洁大方,布局合理,易于操作和启动。系统可以响应用户交互的每一步,并以响应式的方式提供反馈。具体来说,网站管理(轮播照片、通知信息)、人力资源管理(管理员、系统用户)、内容管理(论坛列表、论坛分类、信息列表、信息分类)、购物管理(宠物商城、分类)列表、订单列表) 模块管理。 (领养中心、领养申请、共享中心、宠物类型)配备个性化管理功能等,为宠物服务提供管理平台,实现高效、安全的数据管理。
关键词:宠物网站、B/S模式、Java编程语言、MySQL
SSM宠物网站系统
抽象的
随着信息的快速发展,网络已成为人们重要的信息交流平台。这就是我开发宠物服务平台的原因。 B/S(浏览器/服务器)模式。
采用JJava编程语言、MySQL、SSM框架作为开发技术,实现系统数据的添加、修改、显示、删除,对系统进行组件化,对各个表的增删改查进行分析和设计。我们通过考虑数据库和表之间的约束关系来实现满足用户需求的商业应用。
系统界面简洁大方,布局合理,操作方便,使得系统对每个用户的操作反应灵敏,包括网站管理(轮播图、公告信息)和人力资源管理(管理员、系统报价)。用户) 内容管理(论坛列表、论坛分类、信息列表、信息分类) 购物管理(宠物商城、分类列表、订单列表) 模块管理(领养中心、领养申请、分享中心、宠物类型) 个人管理及其他功能包括提供宠物服务管理平台,实现高效、安全的数据管理。
关键词:宠物网站、B/S模式、Java编程语言、MySQL
目录
第1 章;
1.1 研究背景及意义
1.2 发展现状
1.3 本文结构
第二章相关技术介绍
2.1 前后端分离
2.2 Java编程语言
2.3 JSP技术
2.4 B/S模式
2.5 MySQL概述
2.6 JDK概述
第三章系统分析
3.1 可行性分析
3.1.1 法律可行性分析
3.1.2 技术可行性分析
3.1.3 经济可行性分析
3.2 功能需求分析
3.3 非功能需求分析
3.4 用例分析
3.5 业务流程分析
3.6 数据处理分析
第四章系统设计
4.1 系统架构设计
4.2 系统功能配置
4.3 功能模块设计
4.4 数据库设计
4.4.1 E-R图
4.4.2 表结构设计
第五章系统介绍
5.1 开发工具
5.2 注册模块
5.3 登录/注销模块
5.4 用户模块
5.4.1 配置文件模块
5.4.2 评论模块
5.4.3 产品搜索模块
5.4.4 产品购买模块
5.4.5 招聘申请模块
5.5 管理员模块
5.5.1 产品管理模块
5.5.2 部署中心管理模块
第六章系统测试
6.1 测试概述
6.2 测试过程
6.2.1 登录测试
6.2.2 信息输入测试
6.2.3 信息更新测试
6.2.4 信息删除测试
6.3 测试结果
第七章总结与展望
7.1 概述
7.2 展望
参考
致谢
介绍
研究背景及意义
近年来,随着生活水平的不断提高和发展,越来越多的人想在宠物收养管理系统上查看宠物信息,收养自己喜欢的宠物,收集自己喜欢的宠物用品,以便于购买。宠物收养管理对于用户和管理员都非常有帮助。在线寻主、宠物搜索管理与数据库管理软件配合,为用户和管理员之间提供了良好的操作平台。
分析完上述情况后,我们会详细分析用户的实际需求,并会帮助用户在线浏览宠物信息和购买产品。这个系统对减轻员工的负担很有帮助。该系统的开发和设计是为了显着减少管理时间、减少工作量并使管理任务更快、更顺利。
随着计算机的发展,计算机已经融入到我们生活和工作的各个领域,给我们的生活和工作带来了很多便利。因此,我们希望通过这个系统的开发,宠物管理也能够实现信息化管理。减轻人力负担,提高工作效率。
发育状况
日本的软件产业相对其他国家来说是比较落后的,信息技术的建设也比较落后,但是随着我国经济的不断发展,网络技术的不断提高,我国的软件产业也在发展。始终在寻找并取得成果。我国软件产业发展迅速,越来越多的软件系统出现在人们眼前,逐渐改变着人们的生活和工作方式。但在信息化建设方面,相比许多发达国家,由于信息化滞后、资金缺乏,我国宠物收养的管理和发展还比较落后,所以我们必须不断探索、努力。我们将开发实用的信息化宠物管理系统,实现宠物管理的电脑化。因此,本课题以宠物为例,旨在开发一款实用的宠物收养管理系统。
在宠物收养管理的开发中,我们采用Java技术、MIS的整体思想,在MYSQL、SSM等技术的支持下,共同完成网站系统的开发,实现宠物管理、用户的信息化。管理员还可以利用该系统进行更便捷的管理操作,实现预先指定的计划。
本文的结构
本文的研究和设计内容分为六章:
第一章引言。在本文的开头,我们对本课题的研究背景和重要性进行了文字说明。
第2章:相关技术介绍。我们将主要介绍Java编程技术、JSP嵌入式脚本语言、B/S模式等。
第3 章:系统分析。我们对系统总体需求进行说明,从功能和非功能两个方面分析系统需求,分析系统是否可以实现。
第4 章:系统设计。本文的重点部分给出了系统架构的详细设计以及一些主要功能模块的设计步骤。
第5 章:系统实现。系统分为前提开发工具的引入和后续功能代码的实现。
第6 章:测试系统。系统完成后,根据各模块的测试用例对各模块进行功能测试。
相关技术介绍
前后端分离
另外,随着Ajax的出现,以前使用模板语言实现的功能有了Ajax变得更加简单,以前使用模板语言无法实现的功能也变得可以实现。这将越来越多的逻辑转移到JavaScript,使其变得越来越复杂。
随着JS复杂度的增加,原来的开发模式出现了问题,一个程序员很难负责整个网站,所以此时我就将网站开发职位分成了前端和后端。然而,仅仅分离前端和后端的职责是不够的。在原来的开发模式中,前后端代码也是一样的。现在开发分为前端和后端两波,维护相同的代码集变得很不方便。项目越复杂,你等我、我等你的情况就越多,这就拖慢了整个团队的速度。因此,前后端代码也应该分离,以提高团队效率。
前端和后端分离有两种方式。部分分离仅分离脚本和样式,将HTML 模板留在后端,以便通过JSP、Velocity 或Freemarker 进行渲染。通过脚本完全分离所有样式和模板都在前端维护。
部分分离极大地解决了前后端开发时的协调问题,也大大提高了开发效率。但必须承认,这种做法仍然存在问题。如果你想开发HTML模板,你需要搭建一个完整的后端开发环境或者找一个后端程序员来帮助你。
通常有两种完全分离的解决方案。一种是使用Velocity,这是一个页面模板,在开发时放在前端项目中,但在发布时使用该模板。因此,模板目录在开发过程中提供了完全的隔离。这种方法最大的优点是在线模板的渲染仍然由Java完成,产生带有动态数据的HTML,这有利于SEO。但这种方式,前端开发环境和发布系统的复杂度比较高,前端的简单改动必须在后端发布。
第二种完全解耦的方法是在前端完全使用纯静态的Html 模板,所有数据都通过RESTful 接口进行通信。这样,该方法的系统复杂度低于第一种完全解耦的方法,因为前端和后端完全分离,并且与后端模板分离。然而,这种解决方案对SEO没有帮助,因为所有页面数据都是使用JS渲染的,并且没有动态模板。这个缺点可以通过执行服务器渲染或为蜘蛛创建自定义页面来克服。
Java编程语言
Java使用函数或过程来分析数据操作,但数据和函数是分离的,这使得维护困难,增加了程序负载。面向对象编程将程序的功能和数据操作封装到类中并将它们作为一个整体进行处理。因此,Java语言主要实现面向对象编程,消除了C++语言中指针、多重继承等困难的部分,转而支持单继承、多接口、高内聚、低耦合。[3]。
JSP技术
JSP技术在动态网页的开发中起着重要的作用。我们可以快速响应客户的要求。它是由Oracle 公司旗下的IT 和互联网技术服务公司Sun Microsystems 领导和创建的动态Web 技术标准。它可以根据请求的内容动态生成XML和HTML,为用户的网络请求提供技术服务,并与服务器上的其他Java程序一起处理复杂的业务需求。[5]6]。
JSP的主要优点是:
(1) 一个程序可以编写一次并在多个位置运行。
(2)支持非常广泛,已经在很多平台上实现。
服务模式
计算机系统软件主要分为两类:系统软件和应用软件。应用软件是针对特定应用而开发的一类软件,例如文字处理软件Word、QQ,或者开发该软件时使用的工具myecrise。应用软件大致分为两种模式:B/S和C/S。常用的办公软件如QQ、Office等都是C/S结构,淘宝等网站也普遍基于B/S结构开发。企业门户[7]。
B/S模式具有三个优点。首先,您的业务易于发展和扩展,只需更改网页代码即可实现所需的网页效果。其次,使用简单,易于学生理解。三是分散、专一,可以随时随地处理查询、浏览等服务。这是C/S无法实现的。基于以上因素,选择B/S模式来设计和实现本系统[8]。
MySQL概述
MySQL 是一个开放、快速、多线程的SQL 关系数据库服务器。这是因为它体积小、免费、运行速度快,并且允许相关的免费软件处理MySql数据库等相关数据结构信息。被广大中小企业所使用,占有很大的地位。本系统使用MySQL作为数据库,并使用Nacivat来管理MySql数据库。 Mysql安装过程中最需要注意的是数据库编码。因此,在安装数据库时,必须将数据库编码设置为UTF-8,与MySQL编码相匹配。首页和服务器[13]。
JDK概述
JDK用于Java开发,可以用来开发网站、企业级开发、电子商务等各个方向的软件。它是与Java语言结合开发的使用最多、应用最广泛的工具。由于大多数开源软件是MyEclipse,因此该系统选择的开发工具之一就是MyEclipse。 Java中需要使用的所有类都以相应的版本存储在JDK安装目录的src目录中[14]。
系统分析
可行性分析
法律可行性分析
开发软件是否违法?这就涉及到软件或系统是否可以发布的问题。如果触犯法律,将受到法律的制裁。一个常见的法律问题是软件抄袭。抄袭他人软件将受到严厉处罚。
技术可行性分析
经过多年的发展,软件产业现已形成规模,从事软件开发的专业人才众多,在影响和推动国民经济发展中占据核心地位。该系统所基于的架构目前已经非常成熟,不存在难以实现的技术问题。
经济可行性分析
开发软件所需要的时间、人工和材料成本、开发完成后的利润以及软件所需要的功能在投资回报方面是否能够在当前的经济条件下实现,都符合实际要求是这样的。因此,宠物网站系统经济可行,实用,节省您的管理成本。
功能需求分析
宠物网站系统主要用于管理宠物服务,包括网站管理(轮播照片、通知信息)、人力资源管理(管理员、系统用户)、内容管理(论坛列表、论坛分类、信息列表、信息分类)用于管理和控制。 ) 购物管理(宠物商城、品类列表、订单列表) 模块管理(养父母招募中心、养父母申请、分享中心、宠物类型) 个性化管理我们提供便捷的机制。本系统有多种类型的用户,包括管理员和普通用户。下面,我们将从两个用户的角度来介绍一下本系统实现的功能。
普通用户:
注册:我们首先检查用户名和邮箱地址是否存在,如果不存在,则可以通过对用户输入的密码进行MD5加密来注册。将出现一条消息,表明注册成功,并且您的用户信息将被保存。进入数据库。
登录:您必须登录您的帐户才能使用系统。
评分:根据产品发布产品评分,评分按照时间形成评分列表。
收藏:按物品收藏,按时间创建收藏列表,个人维护和整理收藏。
产品搜索和浏览:产品查看模块主要包括搜索产品和查看产品详细信息的功能。未注册用户(游客)和注册用户都可以在首页搜索商品并查看商品详情。具体功能需求如下。 (1)产品搜索:前端用户可以通过在前端输入关键词进行搜索,搜索成功会返回动态排序的产品列表。以页为单位显示。
(2)查看商品详情:用户可以点击对应的商品,查看该商品的商品详情。
产品购买:如果产品已存在,则提供产品购买功能,产品购买成功后您可以查看个人现有产品购买列表。
宠物领养申请:用户可以提交宠物领养申请并查看领养的宠物。
行政人员:
用户管理: (1)新用户。用于创建新用户。管理员在页面中选择“添加用户”,输入用户所需的信息,然后保存。 (2)搜索用户信息,根据条件搜索用户。当管理员第一次单击“用户列表”时,默认用户列表中会显示所有用户。您可以根据用户的姓名和出生日期进行模糊搜索,查询到的用户将出现在用户列表中。直接点击搜索按钮,不受限制,将搜索所有用户。 (3) 删除用户。用于删除现有用户。当用户出现在用户列表中时,选择要删除的用户。如果确认删除,则将该记录从数据库中删除,并提示删除成功,确认后更新列表。 (4) 编辑用户信息用户将显示在用户列表中,因此选择要编辑的用户。现有用户信息显示在表单上,用户可以看到现有信息的更改。完成更改后,选择“确认”,列表将更新。
产品管理:
(1) 产品列表:以列表形式显示所有产品信息。
(2)产品搜索:按产品名称、产品类别搜索产品。
(3) 图片上传:将产品图片添加到产品中。
(4) 添加产品。
(5)产品更新:更新产品编号、产品名称、产品类别、价格、库存、照片等产品信息。
(6)产品装卸。
宠物服务管理:
(1) 新增宠物寄养父母招募信息。
(2)删除宠物服务。
(3) 更新您的宠物以供领养。
采购订单管理:
(1)通过采购订单号查询采购订单。
(2)查看采购订单明细。
非功能性需求分析
系统有很多非功能性需求,比如性能需求、可支持的最大用户数、稳定性、易用性等。分析该系统时,请考虑易用性。系统既然是人使用的,就需要简单易懂、易于使用,并考虑到用户体验。易于操作。
用例分析
1、一般用户主要使用产品购买服务和宠物服务订购服务。 下图显示了一般用户的用例图。
图3-1 典型用户使用示例图
2.管理员主要处理网站管理(轮播图片、通知信息)、人力资源管理(管理员、系统用户)、内容管理(论坛列表、论坛分类、信息列表、信息分类)、购物管理(宠物商城、分类列表) , 命令)。列表)模块管理(收养中心、收养申请、分享中心、宠物类型)个人管理,下图描述了管理员用例图。
图3-2 管理员使用示例图
业务流程分析
系统业务流程如下图所示。
图3-3 系统业务流程图
业务流程图(TFD)突出了业务流程中的各个处理活动与具体业务部门之间的关系,选取几个模块进行详细说明,并通过一些具体的符号提供了一个流程的描述。我们将讨论商品交易和订购业务,这是该系统整体业务中最重要的部分。用户进入宠物网站系统后,浏览各个模块信息,选择自己想要购买的产品,并将其添加到订单中。另外,管理员进入后台管理,执行订单信息控制模块的相关管理方法,并在解决后向客户提供反馈机制。
数据流分析
下面是系统的顶层数据流图。外部实体包括将数据输入系统以获得输出数据的用户和管理员。
图3-4 系统顶层数据流图
下图展示了系统底层数据流图。
图3-5 系统底层数据流图
宠物网站系统底层数据流图主要描述了系统底层模块的数据流向、数据载体、数据处理以及外部实体的具体交互。本系统是管理员与公众在首页、宠物论坛、公告信息、宠物资讯、宠物商城、领养中心、分享中心等模块进行数据交换。
系统设计
系统架构设计
系统采用MVC结构,包括View、Controller、Service、ServiceImpl、Dao等模块。系统配置图如下所示。
图4-1 系统配置图
根据本系统的需求分析,系统需要构建多个包(Controller、Service、ServiceImpl、Dao、Entity、Util)。
下面我们简单介绍一下上述包的特点。控制器层负责接收前台的请求并封装检索到的数据。服务层主要负责处理业务逻辑。 Dao层负责数据库交互。 Entity 包放置与数据库中的表相对应的实体类。 Util 包包含工具类,例如JSONUtil 类(以json 数据格式返回前端)和GenerateID 类(自动生成ID)。该系统由三个配置文件构建:applicationContext.xml、applicationContext-dataSource.xml 和web.xml。
首先,配置applicationContext.xml。主要是,它自动扫描控制器、显示模式并开始注释。
applicationContext.xml是springMVC相关的配置数据。
系统功能配置
为了实现一个系统从“它做什么”到“它如何做”,我们根据系统设计原则将系统的功能划分为适合编码实现的功能。基于上述系统架构设计,形成标准化的系统功能结构图,并准备系统实现编码。
下图展示了系统的功能配置。
图4-2 系统功能配置图
功能模块设计
用户管理适用于所有用户和管理员。如果您是未注册用户,请点击“注册”进入注册页面并获取自定义生成的帐户来完成您的注册。未注册用户注册的活动图如下所示。
图4-3 未注册用户的注册活动图
用户可以登录使用更多功能。首先访问用户登录界面,检查用户账号和密码信息,如果验证成功则直接显示在页面上。登录用户的昵称,表示登录成功。否则,返回用户登录界面。这是用户登录活动图:
图4-4 用户登录活动图
登录后,用户可以进入功能页面,管理自己的信息,如首页、宠物论坛、公告信息、宠物资讯、宠物商城、领养中心、分享中心等。下图是用户使用功能的活动图。
图4-5 用户功能活动图
您可以使用用户功能界面更改密码。进入密码修改界面后,查看当前密码,验证成功后输入新密码。密码更改活动图如下所示。
图4-6 密码修改活动示意图
数据库设计
宠物网站系统使用的数据库是MySQL。在这一部分中,您将根据您的系统要求和设计设计合适的数据库。该系统允许将来系统集群扩展,并且数据库不使用外键。另外,不使用外键可以简化数据管理,使操作更加方便,提高性能。
E-R图
E-R图更直观地向开发人员传达系统中每条数据的属性、每条数据之间的联系以及每条数据的类型。通过这个模型,你可以更直观地了解并逐步完善你的数据库设计。
系统设计框图如下所示。
图4-7 系统E-R图
表结构设计
计
本系统根据第三范式的思想设计数据库,减少最大程度的冗余,总共建立有多个表,用户表、管理员表、商品表、购买表、宠物领养表、评论表。
表结构如下所示。
表access_token (登陆访问时长)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
token_id
int
10
0
N
Y
临时访问牌ID
2
token
varchar
64
0
Y
N
临时访问牌
3
info
text
65535
0
Y
N
4
maxage
int
10
0
N
N
2
最大寿命:默认2小时
5
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
6
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
7
user_id
int
10
0
N
N
0
用户编号:
表address (收货地址:)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
address_id
int
10
0
N
Y
收货地址:
2
name
varchar
32
0
Y
N
姓名:
3
phone
varchar
13
0
Y
N
手机:
4
postcode
varchar
8
0
Y
N
邮编:
5
address
varchar
255
0
N
N
地址:
6
user_id
mediumint
8
0
N
N
用户ID:[0,8388607]用户获取其他与用户相关的数据
7
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
8
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
9
default
bit
1
0
N
N
0
默认判断
表adoption_application (领养申请)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
adoption_application_id
int
10
0
N
Y
领养申请ID
2
application_no
varchar
64
0
Y
N
申请编号
3
pet_number
varchar
64
0
Y
N
宠物编号
4
pet_name
varchar
64
0
Y
N
宠物名称
5
type_of_pet
varchar
64
0
Y
N
宠物类型
6
pet_age
varchar
64
0
Y
N
宠物年龄
7
sex_of_pet
varchar
64
0
Y
N
宠物性别
8
adoption_agreement
varchar
255
0
Y
N
领养协议
9
application_user
int
10
0
Y
N
0
申请用户
10
reason_for_adoption
text
65535
0
Y
N
领养理由
11
examine_state
varchar
16
0
N
N
未审核
审核状态
12
examine_reply
varchar
16
0
Y
N
审核回复
13
recommend
int
10
0
N
N
0
智能推荐
14
user_id
int
10
0
N
N
0
用户ID
15
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
16
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
表adoption_center (领养中心)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
adoption_center_id
int
10
0
N
Y
领养中心ID
2
pet_number
varchar
64
0
Y
N
宠物编号
3
cover
varchar
255
0
Y
N
封面
4
pet_name
varchar
64
0
Y
N
宠物名称
5
type_of_pet
varchar
64
0
Y
N
宠物类型
6
pet_age
varchar
64
0
Y
N
宠物年龄
7
sex_of_pet
varchar
64
0
Y
N
宠物性别
8
adoption_agreement
varchar
255
0
Y
N
领养协议
9
relevant_information
longtext
2147483647
0
Y
N
相关信息
10
praise_len
int
10
0
N
N
0
点赞数
11
recommend
int
10
0
N
N
0
智能推荐
12
limit_times
int
10
0
N
N
0
限制次数
13
limit_type
tinyint
4
0
N
N
2
限制次数类型1-每天次,2-总计次
14
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
15
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
表article (文章:用于内容管理系统的文章)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
article_id
mediumint
8
0
N
Y
文章id:[0,8388607]
2
title
varchar
125
0
N
Y
标题:[0,125]用于文章和html的title标签中
3
type
varchar
64
0
N
N
0
文章分类:[0,1000]用来搜索指定类型的文章
4
hits
int
10
0
N
N
0
点击数:[0,1000000000]访问这篇文章的人次
5
praise_len
int
10
0
N
N
0
点赞数
6
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
7
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
8
source
varchar
255
0
Y
N
来源:[0,255]文章的出处
9
url
varchar
255
0
Y
N
来源地址:[0,255]用于跳转到发布该文章的网站
10
tag
varchar
255
0
Y
N
标签:[0,255]用于标注文章所属相关内容,多个标签用空格隔开
11
content
longtext
2147483647
0
Y
N
正文:文章的主体内容
12
img
varchar
255
0
Y
N
封面图
13
description
text
65535
0
Y
N
文章描述
表article_type (文章分类)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
type_id
smallint
5
0
N
Y
分类ID:[0,10000]
2
display
smallint
5
0
N
N
100
显示顺序:[0,1000]决定分类显示的先后顺序
3
name
varchar
16
0
N
N
分类名称:[2,16]
4
father_id
smallint
5
0
N
N
0
上级分类ID:[0,32767]
5
description
varchar
255
0
Y
N
描述:[0,255]描述该分类的作用
6
icon
text
65535
0
Y
N
分类图标:
7
url
varchar
255
0
Y
N
外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置
8
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
9
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
表auth (用户权限管理)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
auth_id
int
10
0
N
Y
授权ID:
2
user_group
varchar
64
0
Y
N
用户组:
3
mod_name
varchar
64
0
Y
N
模块名:
4
table_name
varchar
64
0
Y
N
表名:
5
page_title
varchar
255
0
Y
N
页面标题:
6
path
varchar
255
0
Y
N
路由路径:
7
position
varchar
32
0
Y
N
位置:
8
mode
varchar
32
0
N
N
_blank
跳转方式:
9
add
tinyint
3
0
N
N
1
是否可增加:
10
del
tinyint
3
0
N
N
1
是否可删除:
11
set
tinyint
3
0
N
N
1
是否可修改:
12
get
tinyint
3
0
N
N
1
是否可查看:
13
field_add
text
65535
0
Y
N
添加字段:
14
field_set
text
65535
0
Y
N
修改字段:
15
field_get
text
65535
0
Y
N
查询字段:
16
table_nav_name
varchar
500
0
Y
N
跨表导航名称:
17
table_nav
varchar
500
0
Y
N
跨表导航:
18
option
text
65535
0
Y
N
配置:
19
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
20
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
表cart (购物车)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
cart_id
int
10
0
N
Y
购物车ID:
2
title
varchar
64
0
Y
N
标题:
3
img
varchar
255
0
N
N
0
图片:
4
user_id
int
10
0
N
N
0
用户ID:
5
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
6
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
7
state
int
10
0
N
N
0
状态:使用中,已失效
8
price
double
9
2
N
N
0.00
单价:
9
price_ago
double
9
2
N
N
0.00
原价:
10
price_count
double
11
2
N
N
0.00
总价:
11
num
int
10
0
N
N
1
数量:
12
goods_id
mediumint
8
0
N
N
商品id:[0,8388607]
13
type
varchar
64
0
N
N
未分类
商品分类:
14
description
varchar
255
0
Y
N
描述:[0,255]用于产品规格描述
表collect (收藏)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
collect_id
int
10
0
N
Y
收藏ID:
2
user_id
int
10
0
N
N
0
收藏人ID:
3
source_table
varchar
255
0
Y
N
来源表:
4
source_field
varchar
255
0
Y
N
来源字段:
5
source_id
int
10
0
N
N
0
来源ID:
6
title
varchar
255
0
Y
N
标题:
7
img
varchar
255
0
Y
N
封面:
8
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
9
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
表comment (评论)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
comment_id
int
10
0
N
Y
评论ID:
2
user_id
int
10
0
N
N
0
评论人ID:
3
reply_to_id
int
10
0
N
N
0
回复评论ID:空为0
4
content
longtext
2147483647
0
Y
N
内容:
5
nickname
varchar
255
0
Y
N
昵称:
6
avatar
varchar
255
0
Y
N
头像地址:[0,255]
7
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
8
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
9
source_table
varchar
255
0
Y
N
来源表:
10
source_field
varchar
255
0
Y
N
来源字段:
11
source_id
int
10
0
N
N
0
来源ID:
表forum (论坛)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
forum_id
mediumint
8
0
N
Y
论坛id
2
display
smallint
5
0
N
N
100
排序
3
user_id
mediumint
8
0
N
N
0
用户ID
4
nickname
varchar
16
0
Y
N
昵称:[0,16]
5
praise_len
int
10
0
Y
N
0
点赞数
6
hits
int
10
0
N
N
0
访问数
7
title
varchar
125
0
N
N
标题
8
keywords
varchar
125
0
Y
N
关键词
9
description
varchar
255
0
Y
N
描述
10
url
varchar
255
0
Y
N
来源地址
11
tag
varchar
255
0
Y
N
标签
12
img
text
65535
0
Y
N
封面图
13
content
longtext
2147483647
0
Y
N
正文
14
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
15
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
16
avatar
varchar
255
0
Y
N
发帖人头像:
17
type
varchar
64
0
N
N
0
论坛分类:[0,1000]用来搜索指定类型的论坛帖
表forum_type (论坛分类)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
type_id
smallint
5
0
N
Y
分类ID:[0,10000]
2
name
varchar
16
0
N
N
分类名称:[2,16]
3
description
varchar
255
0
Y
N
描述:[0,255]描述该分类的作用
4
url
varchar
255
0
Y
N
外链地址:[0,255]如果该分类是跳转到其他网站的情况下,就在该URL上设置
5
father_id
smallint
5
0
N
N
0
上级分类ID:[0,32767]
6
icon
varchar
255
0
Y
N
分类图标:
7
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
8
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
表goods (商品信息)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
goods_id
mediumint
8
0
N
Y
产品id:[0,8388607]
2
title
varchar
125
0
Y
N
标题:[0,125]用于产品和html的<title>标签中
3
img
text
65535
0
Y
N
封面图:用于显示于产品列表页
4
description
varchar
255
0
Y
N
描述:[0,255]用于产品规格描述
5
price_ago
double
8
2
N
N
0.00
原价:[1]
6
price
double
8
2
N
N
0.00
卖价:[1]
7
sales
int
10
0
N
N
0
销量:[0,1000000000]
8
inventory
int
10
0
N
N
0
商品库存
9
type
varchar
64
0
N
N
商品分类:
10
hits
int
10
0
N
N
0
点击量:[0,1000000000]访问这篇产品的人次
11
content
longtext
2147483647
0
Y
N
正文:产品的主体内容
12
img_1
text
65535
0
Y
N
主图1:
13
img_2
text
65535
0
Y
N
主图2:
14
img_3
text
65535
0
Y
N
主图3:
15
img_4
text
65535
0
Y
N
主图4:
16
img_5
text
65535
0
Y
N
主图5:
17
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
18
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
19
customize_field
text
65535
0
Y
N
自定义字段
20
source_table
varchar
255
0
Y
N
来源表:
21
source_field
varchar
255
0
Y
N
来源字段:
22
source_id
int
10
0
N
N
0
来源ID:
23
user_id
int
10
0
Y
N
0
添加人
表goods_type (商品类型)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
type_id
int
10
0
N
Y
商品分类ID:
2
father_id
smallint
5
0
N
N
0
上级分类ID:[0,32767]
3
name
varchar
255
0
Y
N
商品名称:
4
desc
varchar
255
0
Y
N
描述:
5
icon
varchar
255
0
Y
N
图标:
6
source_table
varchar
255
0
Y
N
来源表:
7
source_field
varchar
255
0
Y
N
来源字段:
8
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
9
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
表hits (用户点击)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
hits_id
int
10
0
N
Y
点赞ID:
2
user_id
int
10
0
N
N
0
点赞人:
3
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
4
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
5
source_table
varchar
255
0
Y
N
来源表:
6
source_field
varchar
255
0
Y
N
来源字段:
7
source_id
int
10
0
N
N
0
来源ID:
表notice (公告)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
notice_id
mediumint
8
0
N
Y
公告id:
2
title
varchar
125
0
N
N
标题:
3
content
longtext
2147483647
0
Y
N
正文:
4
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
5
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
表order (订单)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
order_id
int
10
0
N
Y
订单ID:
2
order_number
varchar
64
0
Y
N
订单号:
3
goods_id
mediumint
8
0
N
N
商品id:[0,8388607]
4
title
varchar
32
0
Y
N
商品标题:
5
img
varchar
255
0
Y
N
商品图片:
6
price
double
10
2
N
N
0.00
价格:
7
price_ago
double
10
2
N
N
0.00
原价:
8
num
int
10
0
N
N
1
数量:
9
price_count
double
8
2
N
N
0.00
总价:
10
norms
varchar
255
0
Y
N
规格:
11
type
varchar
64
0
N
N
未分类
商品分类:
12
contact_name
varchar
32
0
Y
N
联系人姓名:
13
contact_email
varchar
125
0
Y
N
联系人邮箱:
14
contact_phone
varchar
11
0
Y
N
联系人手机:
15
contact_address
varchar
255
0
Y
N
收件地址:
16
postal_code
varchar
9
0
Y
N
邮政编码:
17
user_id
int
10
0
N
N
0
买家ID:
18
merchant_id
mediumint
8
0
N
N
0
商家ID:
19
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
20
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
21
description
varchar
255
0
Y
N
描述:[0,255]用于产品规格描述
22
state
varchar
16
0
N
N
待付款
订单状态:待付款,待发货,待签收,已签收,待退款,已退款,已拒绝,已完成
表pet_mall (宠物商城)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
pet_mall_id
int
10
0
N
Y
宠物商城ID
2
commodity_specification
varchar
64
0
Y
N
商品规格
3
commodity_manufacturer
varchar
64
0
Y
N
商品厂家
4
recommend
int
10
0
N
N
0
智能推荐
5
cart_title
varchar
125
0
Y
N
标题:[0,125]用于产品html的标签中
6
cart_img
text
65535
0
Y
N
封面图:用于显示于产品列表页
7
cart_description
varchar
255
0
Y
N
描述:[0,255]用于产品规格描述
8
cart_price_ago
double
8
2
N
N
0.00
原价:[1]
9
cart_price
double
8
2
N
N
0.00
卖价:[1]
10
cart_inventory
int
10
0
N
N
0
商品库存
11
cart_type
varchar
64
0
N
N
未分类
商品分类:
12
cart_content
longtext
2147483647
0
Y
N
正文:产品的主体内容
13
cart_img_1
text
65535
0
Y
N
主图1:
14
cart_img_2
text
65535
0
Y
N
主图2:
15
cart_img_3
text
65535
0
Y
N
主图3:
16
cart_img_4
text
65535
0
Y
N
主图4:
17
cart_img_5
text
65535
0
Y
N
主图5:
18
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
19
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
表praise (点赞)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
praise_id
int
10
0
N
Y
点赞ID:
2
user_id
int
10
0
N
N
0
点赞人:
3
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
4
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
5
source_table
varchar
255
0
Y
N
来源表:
6
source_field
varchar
255
0
Y
N
来源字段:
7
source_id
int
10
0
N
N
0
来源ID:
8
status
bit
1
0
N
N
1
点赞状态:1为点赞,0已取消
表sharing_center (分享中心)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
sharing_center_id
int
10
0
N
Y
分享中心ID
2
pet_name
varchar
64
0
Y
N
宠物名称
3
type_of_pet
varchar
64
0
Y
N
宠物类型
4
cover
varchar
255
0
Y
N
封面
5
pet_label
varchar
64
0
Y
N
宠物标签
6
introduction_to_pets
text
65535
0
Y
N
宠物介绍
7
pet_video
varchar
255
0
Y
N
宠物视频
8
system_user
int
10
0
Y
N
0
系统用户
9
details
longtext
2147483647
0
Y
N
详情内容
10
praise_len
int
10
0
N
N
0
点赞数
11
examine_state
varchar
16
0
N
N
未审核
审核状态
12
recommend
int
10
0
N
N
0
智能推荐
13
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
14
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
表slides (轮播图)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
slides_id
int
10
0
N
Y
轮播图ID:
2
title
varchar
64
0
Y
N
标题:
3
content
varchar
255
0
Y
N
内容:
4
url
varchar
255
0
Y
N
链接:
5
img
varchar
255
0
Y
N
轮播图:
6
hits
int
10
0
N
N
0
点击量:
7
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
8
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
表system_user (系统用户)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
system_user_id
int
10
0
N
Y
系统用户ID
2
user_name
varchar
64
0
Y
N
用户姓名
3
gender
varchar
64
0
Y
N
性别
4
examine_state
varchar
16
0
N
N
已通过
审核状态
5
recommend
int
10
0
N
N
0
智能推荐
6
user_id
int
10
0
N
N
0
用户ID
7
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
8
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
表type_of_pet (宠物类型)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
type_of_pet_id
int
10
0
N
Y
宠物类型ID
2
type_of_pet
varchar
64
0
Y
N
宠物类型
3
recommend
int
10
0
N
N
0
智能推荐
4
create_time
datetime
19
0
N
N
CURRENT_TIMESTAMP
创建时间
5
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间
表upload (文件上传)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
upload_id
int
10
0
N
Y
上传ID
2
name
varchar
64
0
Y
N
文件名
3
path
varchar
255
0
Y
N
访问路径
4
file
varchar
255
0
Y
N
文件路径
5
display
varchar
255
0
Y
N
显示顺序
6
father_id
int
10
0
Y
N
0
父级ID
7
dir
varchar
255
0
Y
N
文件夹
8
type
varchar
32
0
Y
N
文件类型
表user (用户账户:用于保存用户登录信息)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
user_id
mediumint
8
0
N
Y
用户ID:[0,8388607]用户获取其他与用户相关的数据
2
state
smallint
5
0
N
N
1
账户状态:[0,10](1可用|2异常|3已冻结|4已注销)
3
user_group
varchar
32
0
Y
N
所在用户组:[0,32767]决定用户身份和权限
4
login_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
上次登录时间:
5
phone
varchar
11
0
Y
N
手机号码:[0,11]用户的手机号码,用于找回密码时或登录时
6
phone_state
smallint
5
0
N
N
0
手机认证:[0,1](0未认证|1审核中|2已认证)
7
username
varchar
16
0
N
N
用户名:[0,16]用户登录时所用的账户名称
8
nickname
varchar
16
0
Y
N
昵称:[0,16]
9
password
varchar
64
0
N
N
密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成
10
email
varchar
64
0
Y
N
邮箱:[0,64]用户的邮箱,用于找回密码时或登录时
11
email_state
smallint
5
0
N
N
0
邮箱认证:[0,1](0未认证|1审核中|2已认证)
12
avatar
varchar
255
0
Y
N
头像地址:[0,255]
13
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
表user_group (用户组:用于用户前端身份和鉴权)
编号
名称
数据类型
长度
小数位
允许空值
主键
默认值
说明
1
group_id
mediumint
8
0
N
Y
用户组ID:[0,8388607]
2
display
smallint
5
0
N
N
100
显示顺序:[0,1000]
3
name
varchar
16
0
N
N
名称:[0,16]
4
description
varchar
255
0
Y
N
描述:[0,255]描述该用户组的特点或权限范围
5
source_table
varchar
255
0
Y
N
来源表:
6
source_field
varchar
255
0
Y
N
来源字段:
7
source_id
int
10
0
N
N
0
来源ID:
8
register
smallint
5
0
Y
N
0
注册位置:
9
create_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
创建时间:
10
update_time
timestamp
19
0
N
N
CURRENT_TIMESTAMP
更新时间:
系统实现
开发工具
系统中应用的开发工具总结如下表所示。
表5-1开发工具
名称
工具
版本
操作系统
IDE(Integrated Development Environment)
Windows
Eclipse
7/8/10
2017
服务器
Tomcat
9.10.7
JDK(Java Development Kit)
JDK
Java SE 8.0 (1.8.0)
数据库
浏览器
界面工具
MySQL
谷歌
Photoshop
5.7
6.0
2016
注册模块
未注册用户在用户注册界面uerRegister.jsp,输入新用户信息,点击注册后,新用户信息由界面传入控制层userAction,调用addUser(user)方法,通过userDAOImp向数据库用户表插入用户信息,由于用户账号是自动生成的,若成功则反馈注册成功,并提示新用户的用户账号;若失败则回到登录界面,并显示登录失败。
注册界面如下所示。
图5-1注册界面
注册代码如下:
/**
* 注册
* @return
*/
@PostMapping(\”register\”)
public Map<String, Object> signUp(HttpServletRequest request) throws IOException {
// 查询用户
Map<String, String> query = new HashMap<>();
Map<String,Object> map = service.readBody(request.getReader());
query.put(\”username\”,String.valueOf(map.get(\”username\”)));
List list = service.selectBaseList(service.select(query, new HashMap<>()));
if (list.size()>0){
return error(30000, \”用户已存在\”);
}
map.put(\”password\”,service.encryption(String.valueOf(map.get(\”password\”))));
service.insert(map);
return success(1);
}
public Map<String,Object> readBody(BufferedReader reader){
BufferedReader br = null;
StringBuilder sb = new StringBuilder(\”\”);
try{
br = reader;
String str;
while ((str = br.readLine()) != null){
sb.append(str);
}
br.close();
String json = sb.toString();
return JSONObject.parseObject(json, Map.class);
}catch (IOException e){
e.printStackTrace();
}finally{
if (null != br){
try{
br.close();
}catch (IOException e){
e.printStackTrace();
}
}
}
return null;
}
public void insert(Map<String,Object> body){
E entity = JSON.parseObject(JSON.toJSONString(body),eClass);
baseMapper.insert(entity);
log.info(\”[{}] – 插入操作:{}\”,entity);
}
登录/注销模块
用户在首页点击登录,进入用户登录界面uerLogin.jsp,输入用户账号和密码,点击登录,用户账号和密码信息由界面传入控制层userAction,调用userLogin(user)方法,通过userDAOImp向数据库用户表搜索该用户账号与密码,将最终结果反馈到前端。若成功则回到首页;用户成功登录,若失败则回到登录界面,并显示登录失败。
用户点击注销,清空浏览器session值,然后返回登录页或者首页。
登录界面如下所示。
图5-1登录界面
登录代码如下:
@Slf4j
public class LoginInterceptor implements HandlerInterceptor {
private String tokenName = \”x-auth-token\”;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String token = request.getHeader(this.tokenName);
setHeader(request, response);
log.info(\”[请求接口] – {} , [请求类型] – {}\”,request.getRequestURL().toString(),request.getMethod());
if (request.getRequestURL().toString().contains(\”/api/user/login\”)){
return true;
}
else if (request.getRequestURL().toString().contains(\”/api/user/state\”)){
return true;
}
else if (request.getRequestURL().toString().contains(\”/api/user/register\”)){
return true;
}
if (token == null || \”\”.equals(token)){
if (\”POST\”.equals(request.getMethod())){
return false;
}else {
return true;
}
}else {
return true;
}
}
private void setHeader(HttpServletRequest request, HttpServletResponse response) {
//跨域的header设置
response.setHeader(\”Access-control-Allow-Origin\”, request.getHeader(\”Origin\”));
response.setHeader(\”Access-Control-Allow-Methods\”, \”GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS, PATCH\”);
response.setHeader(\”Access-Control-Allow-Credentials\”, \”true\”);
response.setHeader(\”Access-Control-Allow-Headers\”, request.getHeader(\”Access-Control-Request-Headers\”));
response.setHeader(\”Access-Control-Max-Age\”, \”1800\”);
//防止乱码,适用于传输JSON数据
response.setHeader(\”Content-Type\”, \”application/json;charset=UTF-8\”);
response.setStatus(HttpStatus.OK.value());
}
用户模块
个人资料模块
登录用户在首页点击进入用户中心userCenter.jsp,再点击修改个人信息按钮进入userChangeInfo.jsp界面,系统根据session中存储的目前登录的用户的账号,向控制层userAction发送请求,搜索当前用户信息,userAction向userDAOImp调用queryByUserId(user),向数据库的用户表搜索当前用户信息并将用户信息以对象的形式层层返回到userChangeInfo.jsp界面,显示出当前用户的个人信息。
若用户要对个人信息进行修改,则通过修改当前信息之后点击确认,向控制层userAction发送更改后的用户信息,调用changeUser(user)方法,通过userDAOImp向数据库用户表更新用户信息,若成功则反馈注册成功,则返回的userChangeInfo.jsp界面被更改成功;若失败则显示修改失败。
评论模块
用户可以发表自己的评论。将页面session中的用户账号userId和发表评论文字框内容和评分传入控制层PinglunAction,调用addPinglun方法,通过PinglunDAOImp向数据库评论表插入,将结果返回Pinglun_list.jsp界面。
评论发表界面如下所示。
图5-1评论发表界面
商品搜索模块
用户可以在首页进行商品搜索,在搜索框输入关键词后,前台发起请求,将传递的keyword参数信息从前台传递ShangpinController类里,匹配到list()方法,list()方法调用ShangpinServiceImpl类的getShangpinByKeywordCategory()方法,如果没有该关键词,则返回空的结果集。
商品搜索界面如下。
图5-1商品搜索界面
商品购买模块
用户在登录状态下浏览商品时可将该商品加入商品购买订单,从session中取出该用户的信息,点击加入商品购买订单后前台发起请求,将对应的商品数量shuliang、id参数信息从前台传递GoumaiController类里,匹配到add()方法,add()方法调用GoumaiServiceImpl类的add()方法。
商品购买界面如下所示。
图5-1商品购买界面
领养申请模块
用户在登录状态下浏览领养申请时可将该领养申请加入领养申请记录,从session中取出该用户的信息,点击领养申请记录后前台发起请求,将对应的领养申请shenqing、id参数信息从前台传递lingyangController类里,匹配到add()方法,add()方法调用lingyangServiceImpl类的add()方法。
领养申请下单界面如下所示。
图5-1领养申请界面
管理员模块
商品管理模块
管理员在后台管理界面点击到所有商品界面shangpinxinxi_list.jsp,向控制层shangpinxinxiAction发送请求,搜索当前所有商品信息,shangpinxinxiAction向shangpinxinxiDAOImp调用搜索全部商品的请求,向数据库的商品表搜索当前所有商品并将商品信息以对象的形式层层返回到shangpinxinxi_list.jsp界面,显示出当前所有商品信息。若要对商品信息进行修改和删除,则分别进入shangpinxinxi_updt.jsp或shangpinxinxi_delete.jsp,通过shangpinxinxiAction向shangpinxinxiDAOImp调用对应的修改或删除方法,向数据库的商品表做相应的持久层操作。
商品管理界面如下所示。
图5-1商品管理界面
领养中心管理模块
管理员在后台管理界面点击到领养赵忠祥界面lingyangzhongxini_list.jsp,向控制层lingyangzhongxiniAction发送请求,搜索当前所有领养中心信息,lingyangzhongxiniAction向lingyangzhongxiniDAOImp调用搜索全部领养中心的请求,向数据库的领养中心表搜索当前所有领养中心并将宠物信息以对象的形式层层返回到lingyangzhongxini_list.jsp界面,显示出当前所有领养中心信息。
领养中心管理界面如下所示。
图5-1领养中心管理界面
系统测试
测试概述
软件测试是软件开发完成后必须经过的一道程序,它在软件开发过程中地位十分重要,需要由专业的测试工程师来对软件进行各方面的测试,大到功能模块测试,小到代码的单元测试,这对测试工程师来说需要有足够的耐心和专业的测试方案,软件测试归根结底就是对软件的结构和功能的综合测评,需要做到结构稳定和功能正确,二者兼顾。软件测试也叫寻找系统bug的过程,世界上没有完美无缺、不存在bug的软件,只能将软件的bug降到最低最小,来追求极致。
测试过程
登录测试
登录测试是系统最开始就要进行,测试用户能否登录,才能完成后续的功能操作。
登录测试用例表如下所示。
表6-1登录测试
用例编号
YL001
程序版本
1.00
功能名称
使用者登录测试
编制人
李铁蛋
功能描述
根据用户的登录情况测试
用例目的
测试用户登录情况是否正确
测试项
测试数据
测试结果
预期结果
用户名
为空
请输入用户名
请输入用户名
密码
为空
请输入密码
请输入密码
用户密码组合
用户名:klouse 密码 klouses
用户与密码不匹配
用户与密码不匹配
用户密码组合
用户名 : klouse 密码
klouse
进入系统
正确的用户名和密码
登录系统
信息录入测试
管理员在发布信息页面,通过按照预先格式发布信息,如果因为输入时候缺少相关内容,就不能发布成功,且有相应错误提示
信息录入发布测试用例表如下所示。
表6-1信息录入发布测试
用例编号
YL002
程序版本
1.00
功能名称
信息发布测试
编制人
李铁蛋
功能描述
对使用者发布或者录入信息进行测试,判断其功能是否达到预期的要求
用例目的
对系统使用者录入发布信息进行原型测试。
测试项
测试数据
测试结果
预期结果
属性1
为空
请输入属性1对应的数据
请输入属性1对应的数据
属性2
为空
请输入属性2对应的数据
请输入属性2对应的数据
属性3
为空
请输入属性3对应的数据
请输入属性3对应的数据
全部输入
数据均填入
录入发布成功
录入发布成功
信息更新测试
管理员在更新信息页面,通过按照预先格式更新信息,如果因为输入时候缺少相关内容或者更新的数据不符合当前规范的话,就不能更新成功,且有相应错误提示
信息更新测试用例表如下所示。
表6-1信息更新测试
用例编号
YL003
程序版本
1.00
功能名称
信息更新测试
编制人
李铁蛋
功能描述
对使用者更新信息进行测试,判断其功能是否达到预期的要求
用例目的
对系统使用者更新信息进行原型测试。
测试项
测试数据
测试结果
预期结果
属性1
编号:321
编号更新成功
编号更新成功
属性2
名称:名称1
名称更新成功
名称更新成功
属性3
内容:内容1234内容
内容更新成功
内容更新成功
全部输入
数据均未更改
更新成功
更新成功
信息删除测试
管理员在信息页面,通过点击数据删除按钮来删除该条数据,如果该数据和其他数据有关联,则提示是否确定删除。
信息删除测试用例表如下所示。
表6-1信息删除测试
用例编号
YL004
程序版本
1.00
功能名称
信息删除测试
编制人
李铁蛋
功能描述
对使用者删除信息进行测试,判断其功能是否达到预期的要求
用例目的
对系统使用者删除信息进行原型测试。
测试项
测试数据
测试结果
预期结果
数据1
无任何关联的数据1
数据删除成功
数据删除成功
数据2
和其他数据有关联的数据2
请确认是否删除
请确认是否删除
测试结果
在经过之前的所有的工作之后,通过对软件的测试方法、测试原则还有典型的测试用例进行全面的、深入的介绍。经过对系统的全面测试,系统目前所具有的所有功能均成功的实现并且通过了测试,整个系统实现了基于 Java 开发的期望。
总结与展望
总结
宠物网站系统采用MVC结构,该结构非常完美的集优点于一身,成熟、强大、易理解易使用,通过使用这个结构,降低了开发的难度。本系统实现了基于Java的宠物网站系统,将数据操作维护的过程转化成电脑操作流程,具体实现了对系统网站管理(轮播图、公告信息)人员管理(管理员、系统用户)内容管理(论坛列表、论坛分类、资讯列表、资讯分类)购物管理(宠物商城、分类列表、订单列表)模块管理(领养中心、领养申请、分享中心、宠物类型)个人管理、数据维护,并提供查询统计功能来对商品和购买的相关数据进行统计分析,让使用者能更清晰的掌握运营情况,帮助使用者进行数据操作维护,简化工作流程,提高工作效率和盈利。
展望
目前完成的宠物网站系统,还有许多有待改进的地方。一个是功能上的改进,用户理应可以修改自己的相关信息,故应增设个人中心功能;另外,系统如果能提供更多的功能就会使得系统更加丰富和多样化,比如数据当前分析和未来预测等。第二个是技术上的改进,由于对开发框架不太熟悉,权限管理这部分,本系统采用一个JSP页面来规定好导航栏,即跳转的页面,这相对比较不灵活,如果将URL路径记录到数据库并实现增删查改会比较好;另外就是对EasyUI的使用还不够熟练,视觉效果和界面观感有待提升,希望日后能对这个系统有所改进。
参考文献
[1]潘杨占胜.JSP中文乱码问题的探讨与解决方法[J].福建电脑,2020,36(04):36-41.
[2]蒋治学.JSP技术及其在动态网页开发中的应用分析[J].浙江水利水电学院学报,2020,32(02):75-77.
[3]刘小飞,李明杰.基于JSP和Servlet架构的新闻频道系统[J].电脑知识与技术,2020,16(12):82-83.
[4]曾晰,舒坚.基于JSP的养老院管理信息系统的设计与实现[J].信息通信,2017,(09):122-124.
[5]费扬,杜庆治.基于JSP的大学城外卖网的设计与实现[J].软件,2017,38(07):92-96.
[6]PANCai-hua,LYUJian-you.ResearchonDesignofDigitalDesignManagementSystemofElectronLinearAcceleratorBasedonJSP[J].AnnualReportofChinaInstituteofAtomicEnergy,2016,(00):204-205.
[7]张元刚.煤炭运销综合管理系统智能发运关键技术的研究[J].自动化技术与应用,2020,39(05):154-159.
[8]朱家全,韦海清.基于JSP技术开发计算机网络技术专业资源库平台[J].电子技术与软件工程,2017,(01):46-47.
[9]陆丽.MVC设计模式在JavaWeb开发中的应用研究[J].信息通信,2020(04):104-106.
[10]刘玉成.用jsp实现整个目录上传案例[J].金融科技时代,2017,(02):52-54.
[11]毋世晓.基于MVC的BBS论坛创建与实现[J].电脑编程技巧与维护,2019(12):21-23.
[13]任宪臻,梁宏英.JSP页面中文乱码解决方法[J].数字技术与应用,2017,(01):154+157.
[13]袁嘉欣,马佳琳.基于JSP的大学生活动管理平台的设计与实现[J].软件工程,2019,22(01):43-46.
[14]韩会雯.基于JSP的BBS论坛设计与实现[J].电脑编程技巧与维护,2017,(05):16-17+39.
[15]张文鹏,王兴.改进型蝙蝠算法在作业车间调度问题中的应用[J].计算机工程与应用,2017,53(08):137-140+153.
[16]MorisPieter,Bui-ThiDanh,LaukensKris,MeysmanPieter.MILES:aJavatooltoextractnode-specificenrichedsubgraphsinbiomolecularnetworks[J].Bioinformatics,2020,36(6).
[17]TakashiTomiyasu,YurikoKonoHamada,ChristineBaransano,HitoshiKodamatani,AkitoMatsuyama,RyusukeImura,NurilHidayati,JoeniSetijoRahajoe.Mercuryconcentrationsinpaddyfieldsoilandfreshwatersnailsaroundasmall-scalegoldminingarea,WestJava,Indonesia[J].ToxicologyandEnvironmentalHealthSciences,2020,12(prepublish).
[18]TropicalGeography;NewTropicalGeographyFindingsfromUniversityCollegeLondon(UCL)Reported(GrowthandGrowthConstraintsInCraftIndustryClusters:theBatikIndustriesofCentralJava)[J].ScienceLetter,2020.
[19]ChemicalResearch;InvestigatorsatSardarVallabhbhaiNationalInstituteofTechnologyReportFindingsinChemicalResearch(Improvedhydrodistillationprocessusingamphiphiliccompoundsforextractionofessentialoilfromjavacitronellagrass)[J].Chemicals&Chemistry,2020
[20]JoaquimPereiraCarvalho,HelberVérasNunes,DaniellaInácioBarros,EvandroAlvesRibeiro,Jo?oHenriquedaSilvaLuz,LayssaGabriellyBarbosaGarciaRamos,PauloVictorGomesSales,RicardoAlencarLiborio,BrunoHenriqueDiNapoliNunes.VigorofJavaPlumSeedlings,inthePresenceandAbsenceofMucilageSubmittedtoDifferentSubstrates[J].EuropeanJournalofMedicinalPlants,2020.
致谢
在老师的教导和帮助下,本人完成了本篇论文,老师对论文的内容、格式都有非常严格的要求,在我写毕业论文的过程中,他多次给出了建议,并定期检查,对我们严格要求,帮助我们在文档的编写上写到极致和正确,他这种教学和工作态度,让我对他产生无限的敬佩感和尊敬感。写毕业论文的同时,作为应届生,我也忙着找工作中,遇到了很多选择,感到困惑迷茫的时候,老师给了我很多意见,感谢老师的耐心开导,跟她的聊天我明白了许多。
我还要感谢我的父母,一直以来都非常支持和相信我,在精神和经济上给了我很多力量,如今我将毕业走上工作之路,终于能报答父母的养育教导之恩。还有我大学期间所有老师和全体同学,遇到问题时,这些老师同学总是无私地帮助我,真的非常感谢,我也会加油努力成长为一个有用的人。
免费领取项目源码,请关注❥点赞收藏并私信博主,谢谢~
#以上关于SSM宠物网站系统的相关内容来源网络仅供参考,相关信息请以官方公告为准!
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/91820.html