基于JavaWeb的保护动物管理系统设计与实现

摘要:随着全球一些稀有物种、野生动物日益稀少,保护动物已经成为全球多个国家开始重视并投入大量物力着手解决的重要课题。动物是大自然的产物,自然界是由许多复杂的生态系统构成的。有一种植物消失了,以这种植物为食的昆虫就会消失。某种昆虫没有了,捕食这种昆虫的鸟类将会饿死;鸟类的死亡又会对其他动物产生影响。所以,大规模野生动物毁灭会引起一系列连锁反应,产生严重后果。加之目前我国的动物保护体系并不完整,动物保护理念还不是特别强。

因此,设计开发一个完善的保护动物管理系统,不仅能够提高动物保护的信息化管理,也能够完善保护动物的体系,让更多的动物保护数据得到高效率采集;减少人力浪费节约人力成本;增强数据分析;完善保护动物的体系。

关键词:动物保护;SSM;MySQL;JavaWeb;

第1章 绪论

1.1研究背景

  保护动物是人类社会的重要责任,也是保护自然环境的必要措施。然而,随着人类社会的发展和城市化进程的加速,野生动物的生存环境受到了严重的威胁,一些珍稀物种甚至濒临灭绝。因此,建立一套完善的保护动物管理系统,对于加强野生动物的保护和管理具有重要意义。 传统的保护动物管理方式主要依靠人工管理,存在工作量大、效率低、信息不及时等问题。随着信息技术的发展,建立一套基于互联网的保护动物管理系统成为了必然趋势。基于互联网的保护动物管理系统可以实现信息共享、数据统计、监测预警、在线交流等功能,能够提高野生动物保护的效率和质量。 JavaWeb技术是一种基于Java语言的Web应用程序开发技术,具有跨平台性、安全性、稳定性、可扩展性和可维护性等优点。

因此,基于JavaWeb技术的保护动物管理系统具有以下优点: 首先,JavaWeb技术具有跨平台性,可以在不同的操作系统上运行,不受硬件、操作系统和浏览器等限制,能够实现真正的跨平台和跨浏览器。 其次,JavaWeb技术具有良好的安全性和稳定性,能够保障系统的可靠性和稳定性。JavaWeb技术采用了多层架构和安全机制,能够有效地防止网络攻击和数据泄露等问题。 此外,JavaWeb技术还具有良好的可扩展性和可维护性,能够方便地进行系统升级和维护。JavaWeb技术采用了模块化设计和面向对象编程思想,能够更好地实现系统的可扩展性和可维护性。 基于JavaWeb技术的保护动物管理系统可以实现野生动物信息的采集、管理和共享,能够方便野生动物保护机构进行数据统计和监测预警等工作。此外,基于JavaWeb技术的保护动物管理系统还可以实现在线交流和信息共享,能够促进野生动物保护机构之间的交流和合作。

综上所述,基于JavaWeb技术的保护动物管理系统是一种有效的解决方案,可以帮助野生动物保护机构更好地管理和保护野生动物,提高野生动物保护的效率和质量。

1.2研究目的

本研究的目的是基于JavaWeb技术设计和实现一套保护动物管理系统,以提高野生动物保护的效率和质量。 具体来说,本研究的目的包括以下几个方面:

(1) 建立一套完善的野生动物信息管理系统。通过采集、整理和管理野生动物的相关信息,实现对野生动物的全面监测和管理,为野生动物保护机构提供准确、及时的数据支持。

(2) 实现野生动物保护机构之间的信息共享和交流。野生动物保护工作需要各个机构之间的合作和协调,因此,本研究旨在建立一套信息共享和交流平台,促进各个机构之间的沟通和合作。

(3) 提高野生动物保护的效率和质量。基于JavaWeb技术的保护动物管理系统具有良好的可扩展性和可维护性,能够方便地进行系统升级和维护,提高野生动物保护的效率和质量。

(4) 提高野生动物保护工作的公开透明度。通过建立一套在线信息管理系统,实现野生动物保护工作的公开透明,让社会各界更好地了解野生动物保护工作的进展和成果。 总之,本研究旨在利用JavaWeb技术建立一套高效、可靠、安全的保护动物管理系统,为野生动物保护工作提供有效的支持和保障。同时,本研究还旨在促进各个野生动物保护机构之间的合作和协调,提高野生动物保护的整体水平和质量。

1.3研究意义

保护动物是人类社会的重要任务之一,而动物保护管理系统的建设是实现这一目标的重要手段。基于JavaWeb的保护动物管理系统具有以下研究意义:

  • 提高动物保护管理效率 传统的动物保护管理方式主要依靠人工操作,效率低下、易出现错误,而基于JavaWeb的保护动物管理系统可以实现信息化管理,提高管理效率,减少人为误差,从而更好地保护动物资源。
  • 优化动物资源管理 动物资源是人类社会的重要资源之一,保护动物资源是实现可持续发展的必要条件。基于JavaWeb的保护动物管理系统可以对动物资源进行全面、系统的管理,优化资源配置,实现资源的科学利用,更好地保护动物资源。
  • 提高动物保护管理水平 基于JavaWeb的保护动物管理系统可以实现对动物的全面、科学、规范的管理,通过数据分析和统计,可以发现动物保护管理中存在的问题,及时采取措施进行改进,提高动物保护管理水平。
  • 促进动物保护意识的普及 基于JavaWeb的保护动物管理系统可以实现对动物资源的全面、科学、规范的管理,可以为公众提供更加全面、准确、及时的动物保护信息,促进公众对动物保护的关注和认识,进而提高全社会的动物保护意识。 综上所述,基于JavaWeb的保护动物管理系统具有重要的研究意义,可以提高动物保护管理效率、优化动物资源管理、提高动物保护管理水平、促进动物保护意识的普及,为实现动物保护的目标提供有力的支持。

1.4研究内容

本文各章节内容安排如下:

第一部分:绪论。介绍了系统的研究背景及意义、研究目的及其研究内容[6];

第二部分:关键技术及开发工具主要介绍了系统在开发过程中使用到的开发技术、开发工具

第三部分:系统分析与系统设计主要介绍了系统开发前的需求分析、可行性分析、设计原则、数据库设计及其系统总体设计。

部分:系统详细设计与实现主要介绍系统核心功能的详细设计、实现的核心代码及效果图。

部分:系统测试主要介绍了系统的测试目的、测试步骤及其部分功能测试过程及结果[6]

第六部分结论主要对全文工作总结,并阐述未来仍需改进的方面

第2章 关键技术及开发工具

2.1开发技术选择

2.1.1 SSM框架

SSM是Spring、MyBatis、SpringMVC三个框架进行整合而来。Spring作为项目里的大工厂,用于装配Bean,通过配置文件对对象进行实例化。MyBatis是把JDBC进行了封装,只需关注sql语句,并且将数据库表和实体类及实体类的属性进行对应,操作实体类就实现操作数据库表。SpringMVC是用于进行请求的拦截,核心Servlet就是DispatcherServlet。

Spring是名为Rod Johnson的专家开发出的轻量级的控制反转(Ioc)和面向切面编程(Aop)的容器框架,并且它是一个对使用者开源免费的框架。它的主要目的就是尽可能地减少企业级应用在开发中的繁琐性,主要核心内容有四部分:Bean、Core、Context和SpEL。

SpringMvc是Spring的一个子框架,通过把Controller(控制层)、Model(模块层)和View(显示层)分离,把比较复杂的Web应用开发分成逻辑清晰的几个部分,简化了开发,减少了编码过程中的错误。

Mybatis是一个持久化层半自动ORM框架。它是对Jdbc的封装,通过实现JPA规范从而连接数据库并对其进行增删改查的操作,消除了Jdbc大量的冗余代码,不需要手动开关连接。并且能够和Spring很好的集成。

2.1.2 Java

Java主要采用CORBA技术和安全模型,可以在互联网应用的数据保护。它还提供了对EJB(Enterprise JavaBeans)的全面支持,Java Servlet API,Spring BootJava Server Pages),和XML技术。Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,开发者只需要知道一些概念就能够编写出一些应用程序。Java程序相对较小,其代码能够在小机器上运行。Java是一种计算机编程语言,具有封装、继承和多态性三个主要特性,广泛应用于企业Web应用程序开发和移动应用程序开发。

Java语言和一般编译器以及直译的区别在于Java首先将源代码转换为字节码,然后将其转换为JVM的可执行文件,JVM可以在各种不同的JVM上运行。因此,实现了它的跨平台特性。虽然这使得Java在早期非常缓慢,但是随着Java的开发,它已经得到了改进。

2.1.3 B/S结构

B/S( Browser/Server,浏览器/服务器)模式又称B/S结构。它是随着Internet技术的兴起,对C/S 模式应用的扩展。在这种结构下,用户工作界面是通过IE浏览器来实现的。B/S模式最大的好处是运行维护比较简便,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN,WANInternet/Intranet等)访问和操作共同的数据;最大的缺点是对企业外网环境依赖性太强,由于各种原因引起企业外网中断都会造成系统瘫痪。

随着Internet和WWW的流行,以往的主机/终端和C/S都无法满足当前的全球网络开放、互连、信息随处可见和信息共享的新要求,于是就出现了B/S型模式,即浏览器)服务器结构。B/S模式最大特点是:用户可以通过WWW浏览器去访问Internet上的文本、数据、图像、动画、视频点播和声音信息,这些信息都是由许许多多的Web服务器产生的,而每一个 Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中。客户端除了WWW浏览器,一般无须任何用户程序,只需从Web 服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户就是在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。

2.1.4 JSP

JSP是一种动态网页技术标准,简称(JavaServer Pages)。它是在传统的Html中加入Java代码形成的文件,可为用户提供动态数据。JSP开发的WEB应用是跨平台的,在不同操作系统下都可运行。JSP分离了网页逻辑与网页设计和显示,支持设计可重用的组件,让开发基于WEB的应用更迅速容易。

2.2 系统开发工具

2.2.1 Intellij IDEA 

IntelliJ IDEA简称IDEA ,是java编程语言的集成开发环境。IntelliJ在业界被公认为最好的Java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(Git、Svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版还支持HTML,CSS,PHP,MySQL,Python等。IDEA所提倡的是智能编码,是减少程序员的工作,IDEA的特色功能有智能的选取、丰富的导航模式、历史记录功能、编码辅助记忆、排版灵活等特色服务,更好的帮助开发者提高开发效率。

2.2.2 Tomcat 7

Tomcat属于一种轻型的服务器,所以说在中小企业中并不具有普适性。但是当程序员需要开发或调试JSP 程序时,则通常会将该服务器作为首选。对于一个仅具有计算机基础知识的人来说,计算机系统具有一个好的Apache服务器,可以很好的对HTML 页面进行访问。Tomcat 虽然是Apache的扩展,但是它们都是可以独立运行的,二者是不互相干扰的。当配置正确的时候,Apache服务器为HTML 页面的运行提供技术支持,Tomcat 的任务则是运行Servlet和JSP 页面。Tomcat也具有一定的HTML页面处理功能。

2.2.3 Mysql

数据库是系统开发过程中不可或缺的一部分。在WEB应用方面,MySQL AB开发了一个具有很大优势的Mysql关系数据库管理系统。 MySQL可以将数据存储在不同的表中,这非常灵活,并且还可以提高系统在实际应用中的速度。数据库访问最常用于标准SQL语言,MySQL用于SQL语言,因此它具有高度兼容性。数据库的操作是必不可少的,包括对数据库表的增加、删除、修改、查询等功能。现如今,数据库可以分为关系型数据库和非关系型数据库,Mysql属于关系性数据库,Mysql数据库是一款小型的关系型数据库,它以其自身特点:体积小、速度快、成本低等,Mysql数据库是目前最受欢迎的开源数据库。

在WEB应用技术中, Mysql数据库支持不同的操作系统平台,虽然在不同平台下的安装和配置都不相同,但是差别也不是很大,Mysql在Windows平台下两种安装方式,二进制版和免安装版。安装完Mysql数据库之后,需要启动服务进程,相应的客户端就可以连接数据库,客户端可通过命令行或者图形界面工具登录数据库。

2.2.4  Navicat Premium

Navicat Premium是一套数据库开发工具,可以从单一应用程序中同时连接 MySQL、MariaDB、MongoDB、SQL Server、Oracle、PostgreSQL和SQLite数据库。它与 Amazon RDS、Amazon Aurora、Amazon Redshift、Microsoft Azure、Oracle Cloud、MongoDB Atlas、阿里云、腾讯云和华为云等云数据库兼容。可以快速轻松地创建、管理和维护数据库

2.2.5  Layui

layui是一套开源的Web UI解决方案,采用自身经典的模块化规范,并遵循原生 HTMLCSSJS的开发方式,可帮助开发者快速构建网页界面。layui区别于部分基于MVVM底层的前端框架,主要面向后端开发者,无需依赖各种前端技术,只需依赖浏览器本身,让一切所需要的元素与交互。

第3章 系统分析与系统设计

3.1需求分析

经过百余年发展,保护动物的观念在世界产生了重要影响。随着尊重动物的意识不断增强,动物权利不断扩大,为了使人们更懂得尊重自然,保护动物生命的价值。通过对动物进行统一管理,方便根据不同动物种类划分,方便对动物健康状况监测,饲养监控比较方便,削减后期人员投入,节省运营成本。因此,为了便于进一步加强保护动物管理,实时监控动物的健康状况,设计一个成本低、功耗小的保护动物管理系统尤为重要。

其提供的主要功能包括前台信息展示系统和后台管理系统两部分。后台管理系统主要是对动物信息管理、动物类型管理、饲养员管理、饲养规范管理、动物日常管理、动物健康管理、用户管理等。管理员可以对动物保护信息等进行信息的添加、修改、删除、查询等操作,输入信息后,若信息正确,会将其操作内容更新到数据库内。前台信息展示系统主要给用户提供了解保护动物信息、动物类型、饲养规范等信息的浏览展示等操作。用户登录注册后台系统主要提供用户注册账号、完善及修改个人信息、等操作。

3.2可行性分析

3.2.1 技术可行性

从技术可行性上来说,Spring框架是一个免费的、开源的轻量级框架;不仅极大简化了复杂应用开发的难度,还可以整合并兼容Mybatis、SpringMVC等开源框架。Mybatis框架不仅能够极大的简化与数据库交互的过程,更能发挥出数据库的最优的性能。SpringMVC框架是一种轻量级的Web开发框架,能够针对视图层进行解耦合,使得各个模块之间能够分工明确,极大的降低不同模块之间的耦合性。通过Idea开发工具,利用Java语言、Html、css、SSM及数据库等技术完成对开系统前后端的开发。Idea工具使用简单,功能齐全并且可以通过开放的源代码及技术交流群寻求帮助。在大学中都有所学习,并且在网上有许多相关案例可以借鉴。综上所述,该系统的开发在技术上具有可行性。

3.2.2 经济可行性

从经济可行性上来说,本系统所采用的软件和技术均是免费开放源代码的,可以有效地减少开发费用,因此在经济上也是具有可行性的。当这个系统发行后,可以通过收取手续费,广告费等形式来获取利润。

3.2.3 操作可行性

从操作可行性上来说,本系统以浏览器访问为基础实现,因此操作简单、使用方便,无需下载,无需安装,通过浏览器打开系统即可使用。并且该系统前后端页面简单明了,便于用户使用。

3.2.4 社会价值方面

从社会价值方面来说,本课题开发的是一套具有宣传和科普作用的保护动物系统,普通用户可以通过此系统实现保护动物的信息的学习、了解;管理员可以通过此系统大大提高动物信息管理的信息化水平、管理效率;不仅仅能够更好的提高采集动物相关信息的效率和实时性,也能够提升人们保护动物理念加强,加快完善保护动物体系。

3.3系统设计原则

本动物保护管理系统采用Java技术,Mysql数据库开发,充分保证了系统稳定性、完整性。

动物保护管理系统的设计与实现的设计思想如下:

(1)操作简单方便、系统界面安全良好:简单明了的页面布局,方便查询动物保护系统管理的相关信息。

(2)即时可见:对动物保护系统信息的处理将立马在对应地点可以查询到,从而实现“即时发布、即时见效”的系统功能。

(3)功能的完善性:可以管理首页、动物饲养规则、动物信息、动物日常、用户管理、部门管理、角色管理、动物信息、类型管理等功能的修改和维护操作。

3.4数据库设计

系统正常运作的关键所在是数据库。Mysql是开源免费的轻量级关系型数据库,不需要支付额外的费用,使用成本低。其次它体积小、运行速度快、支持多线程、充分利用CPU资源、优化的SQL算法、有效的提高查询速度。

3.4.1数据库需求分析

在用户的角度来说,数据库的需求主要体现在对数据库表的增删改查。因此,数据库结构需同时满足两个要素:输入、输出。在进行数据设计时,首先需收集数据,然后分析数据结构,最后处理数据。根据本系统的需求,设计以下主要的数据项和数据结构:

(1) 管理员实体:表id、账户名、真实的姓名、密码、性别、部门、角色、状态、最后一次登录时间。

(2) 角色实体:表id、角色名称、启用状态。

(3) 部门实体:表id、部门名称、部门编号、启用状态。

(4) 资源实体:表id、资源名称、资源URL、父级资源id、资源标志。

(5) 首页大图实体:表id、图片路径。

(6) 饲养员实体:表id、饲养员编号、饲养员名字、饲养员手机号、饲养员简介、照片。

(7) 健康管理实体:表id、动物名称、饲养员、记录时间、健康情况记录。

(8) 日常管理实体:表id、动物名称、饲养员、记录时间、日常情况记录。

(9) 动物信息实体:表id、动物名称、类型、记录时间、详情。

(10) 动物类型实体:表id、动物类型。

(11) 饲养规范实体:表id、标题、录入时间、内容详情、录入人。

3.4.2数据库设计原则

在具体进行概念设计的时候,通常是包括的设计方式有渐进扩张、自上而下、混合策略以及自下而上。在针对局部设计的过程中,主要使用的是自上而下,而物理结构的具体设计主要包括两个阶段:首先是对数据库物理结构进行定义,其次,存取关系模型的方式一定要选择正确。

3.4.3概念设计

根据需求分析和业务流程,通过对系统中所涉及的用户、动物、动物类型类型等现实世界中存在的事务物所具有的各种属性进行归类,合并和总结,从而建立起抽象的数据概念模型。根据这个模型可以充分反映现实世界的信息结构、信息流动状况、信息之间的制约关系以及对信息进行增删改查的操作等。

3.4.4数据库表结构设计

(1)后台管理员表(admin)表

用于存储后台管理员的用户名、密码等基本信息。

表3.1 后台管理员表(admin)表

字段名称

描述

数据类型

值域

id

id

int

0

realname

真实姓名

varchar

20

username

用户名

varchar

20

pwd

密码

varchar

20

sex

性别

int

0

deptId

部门id

int

0

roleId

角色id

int

0

status

状态

int

0

lastLogin

最后登录时间

varchar

20

(2)部门表(s_dept)表

用于存储部门的部门编号、部门名称等基本信息。

表3.2 部门表(s_dept)表

字段名称

描述

数据类型

值域

id

id

int

0

deptName

部门名称

varchar

20

deptCode

部门编号

varchar

20

userId

用户id

int

0

status

最状态

int

0

(3)角色表(s_role)表

用于存储角色的角色名称、状态等基本信息。

表3.3 角色表(s_role)表

字段名称

描述

数据类型

值域

id

id

int

0

roleName

角色名称

varchar

20

status

状态

int

0

(4)首页大图表(banners)表

用于存储大图的的id、图片路径等基本信息。

表3.4 首页大图表(banners)表

字段名称

描述

数据类型

值域

id

id

int

0

pic

图片路径

varchar

255

(5)饲养员表(breeder)表

用于存储饲养员的的id、饲养员编号、名字、手机号等基本信息。

表3.5 首页大图表(breeder)表

字段名称

描述

数据类型

值域

id

id

int

0

code

饲养员编号

varchar

255

name

饲养员名字

varchar

255

phone

饲养员手机号

varchar

255

description

饲养员简介

text

0

pic

照片

varchar

255

(6)日常管理(dailty)表

用于存储日常管理的的id、动物名称、饲养员、记录时间等基本信息。

表3.6 日常管理(dailty)表

字段名称

描述

数据类型

值域

id

id

int

0

norname

动物名称

varchar

255

syy

饲养员

varchar

255

jlsj

记录时间

varchar

255

description

日常描述

varchar

255

(7)健康管理(dailty)表

用于存储健康管理的的id、动物名称、饲养员、记录时间、健康情况等基本信息。

表3.7 健康管理(dailty)表

字段名称

描述

数据类型

值域

id

id

int

0

name

动物名称

varchar

255

syyuan

饲养员

varchar

255

jlsj

记录时间

varchar

255

description

健康情况记录

text

0

(8)动物信息管理(normal)表

用于存储动物信息管理的的id、动物名称、类型录入时间等基本信息。

表3.8 动物信息管理(normal)表

字段名称

描述

数据类型

值域

id

id

int

0

name

名称

varchar

255

type

类型

varchar

255

lrtime

录入时间

varchar

255

description

详情

text

0

(9)动物类型管理(normaltype)表

用于存储动物类型管理的的id、动物名称、类型录入时间等基本信息。

表3.9 动物类型管理(normaltype)表

字段名称

描述

数据类型

值域

id

id

int

0

typeName

类型名称

varchar

255

(10)饲养规范管理(standard)表

用于存储饲养规范管理的的id、标题、录入时间、内容详情等基本信息。

表3.10 饲养规范管理(standard)表

字段名称

描述

数据类型

值域

id

id

int

0

title

标题

varchar

255

lrdate

录入时间

varchar

25

description

内容详情

text

0

lrpeople

录入人

varchar

255

3.5系统总体设计

3.5.1设计方案

系统开发主要是采用java语言技术,在整个系统的设计中应用MySQL数据库来完成数据存储,具体根据动物保护管理系统的现状来进行开发的,具体根据现实的需求来实现动物保护网络化的管理,各类信息有序地进行存储,进入该系统页面之后,方可开始查看主界面,主要功能包括管理员:banner图管理、系统设置、动物类型管理、动物信息管理、动物日常管理、动物健康管理等。用户前台:首页、动物信息、饲养规范信息等功能。

整个系统的功能模块主要是对各个项目元素组合、分解和更换做出对应的单元,最后在根据各个系统模块来做出一个简单的原则,系统的整体设计是根据用户的需求来进行设计的。为了更好的服务于用户要从动物保护管理系统的设计与实现方面上做出相应的功能模块和内部信息保持一致的联系。所以我们在设计时候要避免一些代码的相互的重复和耦合的情况发生。

3.5.2系统开发流程

在系统流程分析当中调查分析它是比较重要的环节,因为在这个系统当中它都涉及到每个环节的业务流程,所以从动物保护系统的整体设计上要保证各个信息的正确输入和输出以及对数据储存的完整,并结合实际的操作步骤来绘制出具体的流程图。

图3.2 系统开发流程图

3.5.3登录流程

图3.3 登录流程图

第4章 系统详细设计与实现

4.1 用户模块

4.1.1首页模块

该界面是该系统的首页,界面设置要求界面简洁明了、操作简单、兼容性好。在考虑设计界面时,首先要考虑界面标准化设计,其次是完善界面设计,但不要因对界面的美化使界面的操作变得复杂,使用者可在此页面进行登录等操作,页面顶部导航条是各模块的入口。

前台首页页面主要包括首页、动物信息、饲养规范、饲养员、动物健康、动物日常等内容,并根据需要进行详细操作;如图4.1所示:

图4.1首页界面图

4.1.2动物信息模块

该界面是动物信息展示模板,呈现给用户欣赏查看。主要将后台管理的动物信息进行展示,让人们了解更多动物相关的信息。如图4.2所示:

 图4.2动物信息界面图

4.1.3饲养规范模块

该界面是饲养规范展示模块,呈现给用户相关动物的饲养规范。主要将后台管理的饲养规范进行展示,让人们了解更多保护动物相关的信息。如图4.3所示:

 图4.3饲养规范界面图

4.1.4饲养员模块

该界面是饲养员展示模块,呈现给用户相关饲养员的信息,让人们了解动物饲养员的专业性。主要将后台管理的饲养员信息进行展示,让人们了解更多饲养员的专业性、规范性。如图4.4所示:

 图4.4饲养员界面图

4.1.5动物健康模块

该界面是动物健康展示模块,呈现给用户相关动物健康的信息,让人们了解动物的健康状况。主要将后台管理的饲养员录入的健康状况展示出来,让人们随时随地了解动物的健康状况。如图4.5所示:

 图4.5动物健康界面图

4.1.6动物日常模块

该界面是动物日常展示模块,呈现给用户相关动物日常的信息,让人们了解动物的日常状况。主要将后台管理的饲养员录入的日常展示出来,让人们随时随地了解动物的日常状况。如图4.6所示:

 图4.6动物日常界面图

4.2管理员模块

4.2.1饲养员管理模块

饲养员管理模块,在饲养员管理页面可以查看编号、名字、手机号、图片等内容,进行详情、修改和删除等操作,如图4.7所示:

 图4.7饲养员管理界面图

实现代码:

//分页查询

PageInfo<Breeder> page = breederService.selectBreederByPage(breeder,pageNumber,pageSize);

LhPage lhpage = new LhPage(page);

//更新

breederService.update(breeder);

//保存

breederService.save(breeder);

//删除

breederService.delete(id);

//图片上传

String realPath = request.getRealPath("/");

String fileName_o = file.getOriginalFilename();

UUID uuid = UUID.randomUUID();

File f = new File(realPath+"/upload/"+fileName_n);

file.transferTo(f);

Map map = new HashMap();

map.put("picName",fileName_n);

4.2.2动物管理模块

动物管理模块,在动物管理页面可以查看动物名称、类型等内容,进行查询、编辑和删除等操作,如图4.8所示:

 图4.8动物管理界面图

实现代码:

//分页查询

PageInfo<Normal> page = normalService.selectNormalByPage(normal,pageNumber,pageSize);

//更新

normalService.update(normal);

//保存

normalService.save(normal);

//删除

normalService.delete(id);

4.2.3动物类型管理模块

动物类型管理模块,在动物类型管理页面可以查看类型名称等内容,进行查询、编辑和删除等操作,如图4.9所示:

 图4.9动物类型管理界面图

实现代码:

//分页查询

PageInfo<Normaltype> page = typeService.selectTypeByPage(normaltype,pageNumber,pageSize);

LhPage lhpage = new LhPage(page);

//更新

typeService.update(normaltype);

//保存

typeService.save(normaltype);

//删除

typeService.delete(id);

4.2.4动物健康管理模块

动物健康管理模块,在动物健康管理页面可以查看动物名、饲养员、记录时间等内容,进行查询、编辑和删除等操作,如图4.10所示:

 图4.10动物健康管理界面图

实现代码:

//分页查询

PageInfo<Health> page = healthService.selectBreederByPage(health,pageNumber,pageSize);

//更新

healthService.update(health);

//保存

healthService.save(health);

//删除

healthService.delete(health);

4.2.5饲养规范管理模块

饲养规范管理模块,在饲养规范管理页面可以查看标题、录入人、记录时间等内容,进行查询、编辑和删除等操作,如图4.11所示:

 图4.11饲养规范管理界面图

实现代码:

//分页查询

@RequestMapping("/data")

public ModelAndView typeData(Standard standard, @RequestParam(required = true,defaultValue = "1") Integer pageNumber, Integer pageSize){

    ModelAndView mav = new ModelAndView("standard/data");

    if (pageSize == null) {

        pageSize=Integer.parseInt( Constrant.DEFAULTPAGE_SIZE);

    }

    PageInfo<Standard> page = standardService.selectStandardByPage(standard,pageNumber,pageSize);

    LhPage lhpage = new LhPage(page);

    mav.addObject("page",page);

    mav.addObject("pageStr",lhpage.getPageStr());

    mav.addObject("data",page.getList());

    mav.addObject("standard",standard);

    return mav;

}

/**

 * 保存

 * @param standard

 * @return

 */

@RequestMapping("/save")

public String saveOrUpdate(Standard standard, HttpSession session){

    standard.setLrdate(DateUtil.getDateNow("yyyy-MM-dd hh:mm:ss"));

    UserVO user = (UserVO) session.getAttribute(Constrant.CURRENT_USER);

    standard.setLrpeople(user.getUsername());

    if(standard.getId()!=null){

        //更新

        standardService.update(standard);

    }else{

        //保存

        standardService.save(standard);

    }

    return "forward:data.action";

}

/**

 * 删除

 * @param id

 * @return

 */

@RequestMapping("/delete")

public String delete(Integer id){

    standardService.delete(id);

    return "forward:data.action";

}

4.2.6 用户管理模块

用户管理模块是对后台管理员的用户信息进行统一管理,主要包括了姓名、登录名、性别、所属部门、所属角色、最后登录时间、状态等信息,涵盖的操作主要有新增、删除、修改查询。用户管理模块的界面如图4.12所示。

 图4.12 用户管理界面

实现代码:

//用于显示用户列表

@RequestMapping("userData")

public ModelAndView toUserData(SUser user,@RequestParam(required=true,defaultValue="1") Integer pageNumber,@RequestParam(required=true,defaultValue="10") Integer pageSize){

   //获取分页数据并保存在作用域中

   PageInfo<SUser> page = userService.selectAllUsers(user,pageNumber,pageSize);

   ModelAndView mav = new ModelAndView("user/data");

   LhPage lhpage = new LhPage(page);

   //分页对象

   mav.addObject("pageInfo", page);

   mav.addObject("pageStr",lhpage.getPageStr());

   //当前页数据

   mav.addObject("data", page.getList());

   mav.addObject("user", user);

   return mav;

}

//保存数据

@RequestMapping("save")

public String saveUser(SUser user){

   userService.saveUser(user);

   return "forward:userData.action";

}

//根据ID单个删除数据

@RequestMapping("delete")

public String deleteUser(SUser user){

   userService.deleteUser(user);

   return "redirect:/user/userData.action";

}

//批量删除数据

@RequestMapping("deletes")

public String deleteUsers(Integer[] ids){

   userService.deleteUsers(ids);

   return "redirect:/user/userData.action";

}

//异步验证用户名是否存在

@RequestMapping("/resource")

@ResponseBody

public List<Map> getResource(HttpServletRequest request){

   List<Map> result = new ArrayList<Map>();

   Map map = new HashMap();

   map.put("title", "系统设置");

   map.put("icon", "icon-computer");

   map.put("href", "http://www.baidu.com");

   map.put("spread", false);

   List<Map> children = new ArrayList<Map>();

   Map map_ = new HashMap();

   map_.put("title", "用户管理");

   map_.put("icon", "");

   map_.put("href", request.getContextPath()+"/user/userData.action");

   map_.put("spread", false);

   children.add(map_);

   Map map2_ = new HashMap();

   map2_.put("title", "角色管理");

   map2_.put("icon", "");

   map2_.put("href", request.getContextPath()+"/role/data.action");

   map2_.put("spread", false);

   children.add(map2_);

   map.put("children", children);

   result.add(map);

   return result;

}

@RequestMapping("/getResourceByRoleId")

@ResponseBody

public List<Menus> getResourceByRoleId(Integer roleId){

   List<Menus> result = roleService.selectResourceByRoleId(roleId);

   return result;

}

4.2.7 部门管理模块

部门管理模块是对后台管理员的部门信息进行统一管理,主要包括了部门名称、状态信息,涵盖的操作主要有新增、删除、修改查询。部门管理模块的界面如图4.13所示。

图4.13 部门管理界面

 实现代码:

//分页查询

PageInfo<SDept> page = deptService.selectDeptByPage(dept,pageNumber,pageSize);

//保存或更新

deptService.saveOrUpdate(dept);

//删除

deptService.deleteById(id);

4.2.8角色管理模块

角色管理模块是对后台管理员的角色信息进行统一管理,主要包括了角色名称、状态信息,涵盖的操作主要有新增、删除、修改、查询、资源权限分配等操作。角色管理模块的界面如图4.14所示。

 图4.14 角色管理界面

实现代码:

//分页查询

PageInfo<SRole> page = roleService.selectByPage(role, pageNumber,pageSize);

//查询角色资源信息

roleService.selectRoleResources(roleId);

//更新或删除

map = roleService.saveOrDeleteResource(roleId,resourceId,pid);

//保存

roleService.saveOrUpdateRole(role);

//删除

roleService.deleteRole(role);

第5章 系统测试

5.1测试目的

系统测试的目的主要包括了以下几方面:

1系统的功能流程可正常进行;

2系统在使用过程中避免错误的发生;

3发现系统运转过程中可能出现的加载慢、不稳定等问题,及时进行解决。

5.2 测试步骤

1系统模块测试,是把系统功能划分成的小模块,一个一个进行测试,找出各个小模块现有的问题,将其解决完善;

2系统整体测试,在把系统按小模块测试完成后,把所有小模块进行整合,梳理成具体操作流程。在已确定的具体操作流程中测试并发现问题,使各个模块有密切联系,这样做才可完成确定的操作流程;

3测试结果验收,在项目验收之前多次测试,在确保没问题情况下即可交付客户。

5.3部分功能模块测试

1登录功能

测试用例及结果如表5.1所示。

表5.1 登录功能测试表

测试模块

测试用例

预期结果

测试结果

登录

{ “18435122378”, “123456” }

用户不存在

与实际结果一致

{ “18435122379”, “123456” }

密码错误

与实际结果一致

{ “18435122379”, “123456” }

登录成功

与实际结果一致

{ “18435122379 ”, “ ” }

提示密码必填

与实际结果一致

{ “ ”, “18435122379 ” }

提示账号必填

与实际结果一致

{ “ ”, “ ” }

提示账号、密码必填

与实际结果一致

2首页banner图管理功能

测试用例及结果如表5.2所示。

表5.2 首页banner图管理功能测试表

测试模块

测试用例

预期结果

测试结果

图片新增

{ “1223.png”}

图片新增成功

与实际结果一致

{ “ 1222.gif” }

提示格式不正确

与实际结果一致

{ “ ” }

提示必填信息未填写

与实际结果一致

关键字查询

输入{ “1223” },点击“查询”

查到与1223相匹配的事件

与实际结果一致

图片信息修改

点击“修改”,修改{“姓名1.png”}

修改成功

与实际结果一致

图片信息删除

点击“删除”,删除确认

删除成功

与实际结果一致

3动物信息管理功能

测试用例及结果如表5.3所示。

表5.3 动物信息管理功能测试表

测试模块

测试用例

预期结果

测试结果

动物信息新增

{ “熊猫”, “类型1”, “2023-02-12”, “熊猫生活在...”}

动物信息新增成功

与实际结果一致

{ “”, “类型1”, “2023-02-12”, “熊猫生活在...”}

提示必填信息未填写

与实际结果一致

{ “”, “类型1”, “2023-02-12 122”, “熊猫生活在...”}

新增失败

与实际结果一致

关键字查询

输入{ “熊猫” },点击“查询”

查到与熊猫相匹配的事件

与实际结果一致

动物信息修改

点击“修改”,修改{“姓名1”}

修改成功

与实际结果一致

动物信息删除

点击“删除”,删除确认

删除成功

与实际结果一致

4用户管理功能

测试用例及结果如表5.4所示。

表5.4 用户管理功能测试表

测试模块

测试用例

预期结果

测试结果

用户新增

点击“新增”,输入{“姓名”,“用户名”,“密码”,“性别”,“部门”,“角色”,“状态”}

新增成功

与实际结果一致

关键字查询

输入{ “用户1” },点击“查询”

查到与用户1相匹配的事件

与实际结果一致

用户修改

点击“修改”,修改{“姓名1”}

修改成功

与实际结果一致

用户删除

点击“删除”,删除确认

删除成功

与实际结果一致

5部门管理功能

测试用例及结果如表5.5所示。

表5.5 部门管理功能测试表

测试模块

测试用例

预期结果

测试结果

部门新增

点击“新增”,输入{“部门编号”,“部门名称”,“状态”}

新增成功

与实际结果一致

关键字查询

输入{ “部门1” },点击“查询”

查到与部门1相匹配的事件

与实际结果一致

部门修改

点击“修改”,修改{“部门1”}

修改成功

与实际结果一致

部门删除

点击“删除”,删除确认

删除成功

与实际结果一致

6角色管理功能

测试用例及结果如表5.6所示。

表5.6 角色管理功能测试表

测试模块

测试用例

预期结果

测试结果

角色新增

点击“新增”,输入{“角色名称”}

新增成功

与实际结果一致

关键字查询

输入{ “角色1” },点击“查询”

查到与角色1相匹配的事件

与实际结果一致

角色修改

点击“修改”,修改{“角色1”}

修改成功

与实际结果一致

角色删除

点击“删除”,删除确认

删除成功

与实际结果一致

7饲养员管理功能

测试用例及结果如表5.7所示。

表5.7 饲养员管理功能测试表

测试模块

测试用例

预期结果

测试结果

饲养员新增

点击“新增”,输入{“饲养员名”,“12.png”,“介绍”}

新增成功

与实际结果一致

关键字查询

输入{ “饲养员1” },点击“查询”

查到与饲养员1相匹配的事件

与实际结果一致

饲养员修改

点击“修改”,修改{“饲养员1”}

修改成功

与实际结果一致

饲养员删除

点击“删除”,删除确认

删除成功

与实际结果一致

 

第6章 结论

本文对开发动物保护系统的目的、意义、设计、实现及测试结果进行了阐述。系统采用的后台开发架构是主流的SSM,前端框架是layui,数据库的设计使用建模工具PowerDesigner,实体类对象生成使用逆向工程,简单的单表操作SQL也已自动生成,提高了开发效率。

本系统完成大约花费了两个月左右的开发时长,在这两个月里面,自己的理论知识和实践进行了结合,提升了自己的开发能力。但是,系统开发工作从来未停止,将在后面把系统里需优化的进行优化,提高系统的操作流程和实际使用流程的契合度,让系统能投入使用。

参考文献

[1]马英瑞,刘真,李娟.基于JavaWeb的健身管理系统设计与实现[J].福建电脑,2018,34(09):39-40+44.

[2]李驰.JavaWeb网络学习资源推荐系统的研究与实现[D].四川师范大学,2022.

[3] 陈玲玲,赵全军,赵志国.基于JavaWeb的研究生教务管理系统的设计与实现[J].现代信息科技,2021,5(20):27-29.

[4] 郝文菊,严竞雄.基于JavaWeb的项目代码生成工具在教学中的改革与实现[J].电脑编程技巧与维护,2020(04):10-12.

[5] 陈秋玲.基于JavaWeb的图书购物网站的设计与实现[J].电脑知识与技

术,2019,15(16):36-38.

[6]本刊讯.国家重点保护水生野生动物信息管理系统启动试运行[J].中国水产,2021(08):21-22.

[7] 高晓霞,姜淑娟.信息化建设,为南澎保护区工作保驾护航[J].海洋与渔业,2016(07):37-39.

[8] 谭海军.四川珍稀动植物信息管理系统[J].涪陵师范学院学报,2002(05):104-106.

[9]郑李明.基于SSM中国幼儿体育教学内容的分析[J].四川体育科学,2023,42(01):139-142.

[10]闫银娟.基于SSM的房屋租赁系统的设计与实现[J].电脑知识与技术,2022,18(33):38-41.

[11] 陶爱兰. 基于SSM的数字化审计平台的设计与实现[D].南京邮电大学,2021.

[12]朱军.基于JavaWe的编程技术论坛的设计与实现[J]. 电子制作,2022,30(10):51-54.

[13]李昕宇. 基于JavaWeb的中小型医院门诊管理系统的设计与实现[J]. 软件,2022,43(05):131-133.

[14]范金海. 动物防疫信息化管理系统的设计与实现[D].云南师范大学,2020.

[15]张喜民,詹海生,刘强,袁战军,张金博. 基于NB-IoT的低功耗野生保护动物监测系统研制[J]. 应用科学学报,2023,41(02):262-271.

[16] A Reusable SQL Injection Detection Method for Java Web Applications[J]. KSII Transactions on Internet and Information Systems,2020,14(6).

[17] Zheng Hongying. A Study on the Design of English Speaking Examination System Based on SSM Framework[J]. Journal of Sensors,2022,2022.

[18] Automatic Extraction of Dependencies between Web Components and Database Resources in Java Web Applications[J]. Journal of information and communication convergence engineering,2019,17(2).

致  谢

大学生活就快走入尾声,校园生活就要划上句号,心中是无尽的难舍与眷恋。从校园里走出,对我的人生来说将是踏上一个新征程,要把所学的知识应用到实际工作中去。

不积硅步无以至千里,不积小流无以成江海。本次论文从选题到完成,每一步都是在导师的悉心指导下完成的,倾注了导师超多的心血。在此,谨向导师表示崇高的敬意和衷心的感谢!在写论文的过程中,遇到了很多问题,在导师的耐心指导下,问题都得以解决。所以在此,再次对导师道一声谢谢您!

本设计能够顺利的完成,也归功于各位任课老师的认真负责,使我能够很好的掌握和运用专业知识,并在设计中得以体现。

故事结局很美丽,过程曲折而已。愿我们以渺小启程,以伟大结束。最后向大家道一句辛苦。来日方长,不忘初心,我会在未来的工作和实践中始终如一的回报诸位对我的教导、帮助、理解和支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/26831.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

电脑通过VNC连接树莓派

0. 实验准备 VNC软件 VNC Viewer 或者 MobaXterm&#xff08;安装包点击即可下载&#xff09; 可以使用SSH登录进去或者有屏幕的树莓派 一台可以使用的电脑 树莓派和电脑连接在同一个局域网下 0.5 树莓派的公共操作 打开树莓派的 VNC 功能 有屏幕的 打开 VNC 功能&#xff…

《Apollo 智能驾驶进阶课程》四、感知

1. 感知概貌 2. 传感器和标定 激光雷达&#xff1a;主动式&#xff0c;发射功率限制 Camera: 被动式&#xff0c;受到光照影响大 Radar : 多普勒效率 相对速度 超声波: 感知距离有限&#xff0c;倒车时使用。 … 最后设备还在研发过程中。 PnP问题&#xff0c;解决标定。 IC…

BEVFormer组件分析

BEVFormerEncoder中的get_reference_points staticmethoddef get_reference_points(H, W, Z8, num_points_in_pillar4, dim3d, bs1, devicecuda, dtypetorch.float):"""Get the reference points used in SCA and TSA.Args:H, W: spatial shape of bev.Z: hight…

【IMX6ULL驱动开发学习】02.IMX6ULL烧写Linux系统

由于我买的是正点原子的IMX6ULL阿尔法开发板&#xff0c;但是我是看韦东山老师视频学习的驱动 所以这里我烧录的方法是按照韦东山老师的课程来的 这里给出烧写Linux系统用到的工具 链接&#xff1a;https://pan.baidu.com/s/1bD-xxn3K8xQAVkJSaJmTzQ 提取码&#xff1a;af6w …

Keysight是德MSOS604A高清晰度示波器1 GH

Keysight是德MSOS604A S系列示波器配备 6 GHz 存储器、15 英寸 XGA 电容触摸屏和 10 位模数转换器。主要特性与技术指标 1 GHz带宽和平坦的频率响应确保高信号保真度 20 GSa/s 最大采样率 10 位模数转换器&#xff08;ADC&#xff09;保证高垂直分辨率 低噪声前端&#xff…

EDA数字钟(三)

文章目录 前言一、设计内容二、模块结构三、代码编写1、顶层模块Digclk2、状态控制模块Ctrl3、按键消抖模块Filter4、计时模块Time5、闹钟模块Alarm6、显示模块Display7、数码管驱动模块Smg 四、测试文件五、波形仿真总结 前言 再次编写数字钟Verilog程序&#xff0c;使其符合…

Mysql的事务

MySQL中的事务是一组数据库操作&#xff0c;这些操作被视为单个逻辑单元并且被当做原子操作执行&#xff0c;这意味着它们要么全部成功&#xff0c;要么全部失败&#xff0c;没有中间状态。事务通常用于确保数据库中的数据完整性和一致性。 在MySQL中&#xff0c;事务可以使用以…

玩转css逐帧动画,努力成为更优质的Ikun~

&#x1f389; 一、前言 css3的animation想必大家都知道吧&#xff0c;那 steps 逐帧动画你知道吗&#xff1f;对于我来说&#xff0c;实际工作及练习中也很少用到这种跳跃式变化的动画&#xff0c;而它start和end的解释又比较“不说人话”&#xff0c;以前用到steps动画的时候…

Linux - 第23节 - Linux高级IO(一)

目录 1.IO的基本概念 2.钓鱼五人组 3.五种IO模型 3.1.阻塞IO 3.2.非阻塞IO 3.3.信号驱动IO 3.4.IO多路转接 3.5.异步IO 4.高级IO重要概念 4.1.同步通信 VS 异步通信 4.2.阻塞 VS 非阻塞 5.其他高级IO 6.阻塞IO 7.非阻塞IO 7.1.fcntl函数介绍 7.2.fcntl函数的使…

MobPush 推送查询API

IP绑定 工作台可以绑定服务器IP地址&#xff0c;未绑定之前所有IP均可进行REST API的调用&#xff0c;绑定后进仅绑定的IP才有调用权限。 设备信息查询接口 根据RegistrationId查询设备信息 接口地址 http://api.push.mob.com/device-v3/getById/{registrationId} 请求方式…

三种编码方式(费诺曼编码,霍夫曼编码,哈夫曼树编码)的简单解释和介绍

一. 费诺曼(Fano)编码是一种前缀编码&#xff0c;其基本原理是将出现频率较高的符号用短的编码表示&#xff0c;而出现频率较低的符号则用长的编码表示。通过这种方式进行编码&#xff0c;可以达到更好的压缩效果。 费诺曼编码的具体过程如下&#xff1a; 将要编码的符号按照…

一个小时入门 Android Compose 动画

0. 前言 前段时间对于Android中的Compose动画做了系统性的学习&#xff0c;相关文章发布在 Compose 动画 专栏里。系统性学完Compose动画后&#xff0c;又对此做了系统性的回顾&#xff0c;抽取其比较重要的部分&#xff0c;希望能帮助大家快速入门Compose动画&#xff0c;所…

ChatGPT新突破:打造自己的智能机器人控制系统

&#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是Zeeland&#xff0c;全栈领域优质创作者。&#x1f4dd; CSDN主页&#xff1a;Zeeland&#x1f525;&#x1f4e3; 我的博客&#xff1a;Zeeland&#x1f4da; Github主页: Undertone0809 (Zeeland) (github.com)&…

【论文速览】根据人脑fMRI信号重建图像 Image Reconstruction from human brain activity

文章目录 前言文章一研究背景主要方法部分实验结果总结与思考参考资料 文章二研究背景主要方法部分实验结果总结与思考 前言 人类的视觉神经系统对于真实世界的视觉刺激有着非凡的感知与理解能力&#xff0c;比如我们能够准确地识别物体距离和三维几何关系等&#xff0c;这是当…

三维数字沙盘交互大数据可视化GIS地理信息系统第十课

三维电子沙盘交互无人机倾斜摄影大数据可视化GIS地理信息系统第十课 设置system.ini 如下内容 Server122.112.229.220 userGisTest Passwordchinamtouch.com 该数据库中只提供 成都市火车南站附近的数据请注意&#xff0c;104.0648,30.61658 在SDK中自带了一个自定义的基础面…

pycharm和virtualBox虚拟机的安装(包括本地环境和远程环境配置)

目录 一、安装时需要的软件二、安装virtualBox三、安装pycharm四、创建pycharm本地环境五、创建pycharm远程环境 一、安装时需要的软件 Pycharm&#xff0c;jetbrains-agent-latest破解包&#xff08;破解pycharm&#xff09;;镜像文件ubuntu20&#xff0c;虚拟机virtualBox …

Zellij – 颜值爆表,比tmux、screen更好用的多窗口终端

如果你曾经使用过多窗口终端&#xff0c;如tmux、screen&#xff0c;那么你可能对Zellij上手会更快。下面将介绍这个惊艳出众的多窗口终端利器。 一、Zellij 特点 Zellij最大的特点是支持插件&#xff0c;与WebAssembly编译兼容。与screen和tmux相比&#xff0c;Zellij是以细…

Linux 之Python 定制篇-APT 软件管理和远程登录

Linux 之Python 定制篇-APT 软件管理和远程登录 apt 介绍 apt 是Advanced Packaging Tool 的简称&#xff0c;是一款安装包管理工具。在Ubuntu 下&#xff0c;我们可以使用apt 命令进行软件包的安装、删除、清理等&#xff0c;类似于Windows 中的软件管理工具。 unbuntu 软件…

LVS-DR负载群集的优势和部署实例(我们都会在各自喜欢的事情里变得可爱)

文章目录 一、DR模式数据包流向分析二、DR模式的特点三、DR模式中需要解决的问题问题1解决方式 问题2解决方式 四、LVS-DR部署实例1.配置NFS共享存储器2.配置节点web服务&#xff08;两台的配置相同&#xff09;3.配置LVS负载调度器 一、DR模式数据包流向分析 1.Client 客户端…

《计算机网络——自顶向下方法》精炼——3.7(2)

读书有三到&#xff1a;谓心到&#xff0c;眼到&#xff0c;口到。——明朱熹 文章目录 对链接吞吐量的简化描述高带宽路径的TCP公平性 对链接吞吐量的简化描述 为了简化对一条TCP连接吞吐量的描述&#xff0c;我们首先忽略连接过程中处于慢启动状态的时间&#xff0c;因为这一…