毕业设计-课程设计-Spring+SpringMVC+Mybatis项目—企业权限管理系统(1)

JavaEE:Spring+SpringMVC+Mybatis项目—企业权限管理系统

首先给出项目演示地址:http://www.youngxy.top:8080/SSM/

项目架构图:

一:功能需求

1.1 商品查询 


基于SSM整合基础上完成商品查询,要掌握主面页面main.jsp及商品显示页面product-list.jsp页面的创建。 1.3 商品添加 
进一步巩固SSM整合,并完成商品添加功能,要注意事务操作以及product-add.jsp页面生成。 


1.2 订单查询 


订单的查询操作,它主要完成简单的多表查询操作,查询订单时,需要查询出与订单关联的其它表中信息,所以大 家一定要了解订单及其它表关联关系 


1.3 订单分页查询 


订单分页查询,我们使用的是mybatis分页插件PageHelper,要掌握PageHelper的基本使用。 


1.4 订单详情查询 


订单详情是用于查询某一个订单的信息,这个知识点主要考核学生对复杂的多表查询操作的掌握。 


1.5 Spring Security 概述 


 Spring Security是 Spring 项目组中用来提供安全认证服务的框架,它的使用很复杂,我们在课程中只介绍了 spring Security的基本操作,大家要掌握spring Security框架的配置及基本的认证与授权操作。

 
1.8 用户管理 


用户管理中我们会介绍基于spring Security的用户登录、退出操作。以及用户查询、添加、详情有等操作,这些功 能的练习是对前期SSM知识点的进一步巩固。 


1.9 角色管理 


角色管理主要完成角色查询、角色添加 。


1.10 资源权限管理 


资源权限管理主要完成查询、添加操作,它的操作与角色管理类似,角色管理以及资源权限管理都是对权限管理的 补充。

1.11 权限关联与控制 


主要会讲解用户角色关联、角色权限关联,这两个操作是为了后续我们完成授权操作的基础,关于授权操作我们会 在服务器端及页面端分别讲解 。


1.12 AOP日志处理 


 AOP日志处理,我们使用spring AOP切面来完成系统级别的日志收集。

二:项目架构

1.1技术选型

Spring、SpringMVC、Mybatis框架整合,这样解决了业务层、dao层、表现层代码的繁琐。

在用户登陆认证过程中,采用Spring Security框架,进行权限管理。

页面数据展示分页时,采用PageHelper插件管理。

后台界面采用流行的AdminLTE模板。

三:前期准备

1.1数据库

首先基于Oracle的数据库要创建用户,之后创建表结构。

在这里博主给出了项目Sql的文件:点此下载。

1.2AdminLTE

大家可以参考官网教程,或者使用本项目的中文模板。

点此下载本项目模板。

四:环境搭建

1.1开发环境

创建Maven工程,采用模板创建:

然后创建不同模块:

在工程总pom.xml文件中导入相关依赖:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.xy</groupId><artifactId>SSM</artifactId><packaging>pom</packaging><version>1.0-SNAPSHOT</version><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><spring.version>5.1.6.RELEASE</spring.version><slf4j.version>1.6.6</slf4j.version><log4j.version>1.2.12</log4j.version><mysql.version>5.1.6</mysql.version><oracle.version>11.2.0</oracle.version><mybatis.version>3.4.5</mybatis.version><spring.security.version>5.0.1.RELEASE</spring.security.version></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>compile</scope></dependency><!-- spring --><dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId> <version>1.6.8</version></dependency><dependency><groupId>org.springframework</groupId> <artifactId>spring-aop</artifactId><version>${spring.version}</version> </dependency><dependency><groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId> <artifactId>spring-web</artifactId><version>${spring.version}</version> </dependency><dependency><groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId><version>${spring.version}</version> </dependency><dependency><groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${spring.version}</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId> <version>${mysql.version}</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.0</version><scope>provided</scope></dependency><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><!-- log start --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>${log4j.version}</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>${slf4j.version}</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>${slf4j.version}</version></dependency><!-- log end --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>${mybatis.version}</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>2.0.1</version></dependency><dependency><groupId>c3p0</groupId><artifactId>c3p0</artifactId><version>0.9.1.2</version><type>jar</type><scope>compile</scope></dependency><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.1.2</version></dependency><dependency><groupId>org.springframework.security</groupId><artifactId>spring-security-web</artifactId><version>${spring.security.version}</version></dependency><dependency><groupId>org.springframework.security</groupId><artifactId>spring-security-config</artifactId><version>${spring.security.version}</version></dependency><dependency><groupId>org.springframework.security</groupId><artifactId>spring-security-core</artifactId><version>${spring.security.version}</version></dependency><dependency><groupId>org.springframework.security</groupId><artifactId>spring-security-taglibs</artifactId><version>${spring.security.version}</version></dependency><dependency><groupId>com.oracle</groupId><artifactId>ojdbc6</artifactId><version>${oracle.version}</version></dependency></dependencies><modules><module>SSM_domain</module><module>SSM_dao</module><module>SSM_service</module><module>SSM_utils</module><module>SSM_web</module></modules></project>

1.2框架搭建

在web模块下创建资源文件夹:

新建配置文件如下:

db.properties:

jdbc.driver=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
jdbc.username=ssm
jdbc.password=ylh013954
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Oracle10gDialect

把相关数据库用户名和密码修改成能运行。

log4j.properties:

# Set root category priority to INFO and its only appender to CONSOLE.
#log4j.rootCategory=INFO, CONSOLE            debug   info   warn error fatal
log4j.rootCategory=info, CONSOLE, LOGFILE# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n# LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=d:/java/axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m\n

spring.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx.xsd"><!-- 开启注解扫描,管理service和dao --><context:component-scan base-package="com.xy.service"></context:component-scan><context:component-scan base-package="com.xy.dao"></context:component-scan><context:property-placeholder location="classpath:db.properties"/><!--spring整合mybatis--><!-- 配置连接池 --><bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"><property name="driverClass" value="${jdbc.driver}" /><property name="jdbcUrl" value="${jdbc.url}" /><property name="user" value="${jdbc.username}" /><property name="password" value="${jdbc.password}" /></bean><!-- 把交给IOC管理 SqlSessionFactory --><bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"><property name="dataSource" ref="dataSource" /><!-- 传入PageHelper的插件 --><property name="plugins"><array><!-- 传入插件的对象 --><bean class="com.github.pagehelper.PageInterceptor"><property name="properties"><props><prop key="helperDialect">mysql</prop><prop key="reasonable">true</prop></props></property></bean></array></property></bean><!-- 扫描dao接口 --><bean id="mapperScanner" class="org.mybatis.spring.mapper.MapperScannerConfigurer"><property name="basePackage" value="com.xy.dao"/></bean><!-- 配置Spring的声明式事务管理 --><!-- 配置事务管理器 --><bean id="dataSourceTransactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"><property name="dataSource" ref="dataSource"/></bean><tx:advice transaction-manager="dataSourceTransactionManager" id="txAdvice"><tx:attributes><tx:method name="find*" read-only="true"/><tx:method name="*" isolation="DEFAULT"></tx:method></tx:attributes></tx:advice><!--配置AOP增强--><aop:config><aop:advisor advice-ref="txAdvice" pointcut="execution(* com.xy.service.impl.*.*(..))"></aop:advisor></aop:config>
</beans>

spring-mvc.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:context="http://www.springframework.org/schema/context"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/mvchttp://www.springframework.org/schema/mvc/spring-mvc.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop.xsd"><!-- 扫描controller的注解,别的不扫描 --><context:component-scan base-package="com.xy.controller"></context:component-scan><!-- 配置视图解析器 --><bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><!-- JSP文件所在的目录 --><property name="prefix" value="/pages/" /><!-- 文件的后缀名 --><property name="suffix" value=".jsp" /></bean><!-- 设置不过滤静态资源--><mvc:resources location="/css/" mapping="/css/**" /><mvc:resources location="/img/" mapping="/img/**" /><mvc:resources location="/js/" mapping="/js/**" /><mvc:resources location="/plugins/" mapping="/plugins/**" /><!-- 开启对SpringMVC注解的支持 --><mvc:annotation-driven /><aop:aspectj-autoproxy proxy-target-class="true"/>
</beans>

1.3插件引入

需要spring security、pageHelper,在pom.xml引入。

参考1.2

spring security.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:security="http://www.springframework.org/schema/security"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/securityhttp://www.springframework.org/schema/security/spring-security.xsd"><!--开启方法级权限控制--><security:global-method-security jsr250-annotations="enabled" secured-annotations="enabled" pre-post-annotations="enabled"></security:global-method-security><!-- 配置不拦截的资源 --><security:http pattern="/login.jsp" security="none"/><security:http pattern="/failer.jsp" security="none"/><security:http pattern="/css/**" security="none"/><security:http pattern="/img/**" security="none"/><security:http pattern="/plugins/**" security="none"/><!--配置具体的规则auto-config="true"	不用自己编写登录的页面,框架提供默认登录页面use-expressions="false"	是否使用SPEL表达式(没学习过)--><security:http auto-config="true" use-expressions="false"><!-- 配置具体的拦截的规则 pattern="请求路径的规则" access="访问系统的人,必须有ROLE_USER的角色" --><security:intercept-url pattern="/**" access="ROLE_USER,ROLE_ADMIN"/><!-- 定义跳转的具体的页面 --><security:form-loginlogin-page="/login.jsp"login-processing-url="/login.do"default-target-url="/index.jsp"authentication-failure-url="/failer.jsp"/><!-- 关闭跨域请求 --><security:csrf disabled="true"/><!-- 退出 --><security:logout invalidate-session="true" logout-url="/logout.do" logout-success-url="/login.jsp" /></security:http><!--切换成数据库中的用户名和密码 --><!--<security:authentication-manager>--><!--<security:authentication-provider user-service-ref="userService">--><!--&lt;!&ndash;&lt;!&ndash; 配置加密的方式 &ndash;&gt;&ndash;&gt;--><!--<security:password-encoder  ref="passwordEncoder"/>--><!--</security:authentication-provider>--><!--</security:authentication-manager>--><!-- 配置加密类 --><!--<bean id="passwordEncoder" class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder"/>--><!-- 提供了入门的方式,在内存中存入用户名和密码--><security:authentication-manager><security:authentication-provider><security:user-service><security:user name="admin" password="{noop}admin" authorities="ROLE_ADMIN"/></security:user-service></security:authentication-provider></security:authentication-manager>
</beans>

1.4Maven创建

完成以上工作,项目初步构建成功,可以在tomcat服务器上运行看是否能通过初步测试。

五:代码实现

5.1dao层

如图,编写代码:

详细代码可以在项目源码查看,这里给出代码逻辑及实现总体流程。

5.2业务层

5.3表现层

接下来介绍各个功能的具体实现细节:

Spring+SpringMVC+Mybatis项目—企业权限管理系统(2)

源码:310508863

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器人技术中的人工智能:问题和解决方案

来源&#xff1a;ScienceAI机器人技术是一个多元化的行业&#xff0c;有很多变数。它的未来充满了不确定性&#xff1a;没有人能预测它未来几年的发展方向和方向。机器人技术也是一个不断增长的领域&#xff0c;有 500 多家公司致力于产品可分为四类&#xff1a;传统工业机器人…

任正非最新发言:鼓励胡说八道,系统工程不能搞垄断

来源 : 深城物联6月10日&#xff0c;华为“心声社区”微信公众号披露了任正非5月29日与系统工程领域科学家、专家会谈纪要。在会谈纪要的记录中&#xff0c;任正非分享了他对于系统工程的四方面见解。任正非提到&#xff0c;科学就是无尽的前沿&#xff0c;不要急功近利。国家重…

SpringBoot:如何处理SprintBoot提示Whitelabel Error Page以及了解原因?

目录 QUESTION:如何处理SprintBoot提示Whitelabel Error Page&#xff1f; ANSWER&#xff1a; 一&#xff1a;产生原因 二&#xff1a;如何处理 2.1Whitelabel Error Page 白页 2.2新建controller包 2.3成功运行 三&#xff1a;根本原因分析 QUESTION:如何处理SprintBo…

作为意识计算框架的主动推理

来源&#xff1a;CreateAMind作为意识计算框架的主动推理 &#xff08;机器翻译约八千字&#xff09;摘要最近&#xff0c;主动推理的机械框架被提出作为发展意识的支配性理论的原则基础&#xff0c;这将有助于解决该领域的概念差异(威斯2018&#xff1b;霍维和塞斯2020).为了证…

连接MySql出现异常解决:java.sql.SQLException: The server time zone value is unrecognized or represents。

QUESTION: java.sql.SQLException: The server time zone value &#xfffd;й&#xfffd;&#xfffd;&#xfffd;׼ʱ&#xfffd;&#xfffd; is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the s…

JSP和HTML中实现字符串换行

QUESTION&#xff1a;jsp中String字符串没有换行&#xff1f;怎样将含格式的String保持原有格式输出到html上&#xff1f; ANWSER: 目录 QUESTION&#xff1a;jsp中String字符串没有换行&#xff1f;怎样将含格式的String保持原有格式输出到html上&#xff1f; ANWSER: 方法…

一夜之间,谷歌AI就具有了「人格」,故事还炒得绘声绘色

来源&#xff1a;机器之心虽然谷歌表示不同意&#xff0c;还让提出这种说法的工程师「带薪休假」了。作为AI技术报道者&#xff0c;有点跟不上技术发展的速度了......一夜之间&#xff0c;谷歌AI就具有了人格&#xff0c;并且成功登上国内热搜。而这条消息也成功让众多网友也是…

阿里云服务器重启后无法访问的解决

QUESTION&#xff1a; 阿里云服务器重启后无法访问&#xff0c;可以PING通&#xff1f; ANWSER&#xff1a; 一、配置安全组 二、关闭防火墙 sudo systemctl stop firewalld 临时关闭 sudo systemctl disable firewalld &#xff0c;然后reboot 永久关闭 sudo systemctl s…

21世纪八大新兴技术领域对美国战略威慑的影响

来源&#xff1a;&#xff1a;兰德公司网站平台编辑&#xff1a;黄潇潇编译&#xff1a;沐俭&#xff0c;知远战略与防务研究所 【知远导读】本篇推送节选自兰德公司的报告《打破威慑——审视21世纪科技对战略威慑的影响》&#xff08;Disrupting Deterrence&#xff1a;Examin…

让AI做决策,我们的社会准备好了吗?

来源&#xff1a;学术头条随着技术的加速发展&#xff0c;人工智能&#xff08;AI&#xff09;在决策过程中发挥着越来越重要的作用。人类越来越依赖算法来处理信息、推荐某些行为&#xff0c;甚至代表他们采取行动。但是&#xff0c;如果真的让 AI 帮助、甚至代替我们来做决策…

Linux下安装多个Tomcat服务器

目录 QUESTION&#xff1a;阿里云服务器Linux下安装多个Tomcat服务器的方法 ANSWER: 一、安装前的下载相关文件 1.1下载tomcat 1.2准备工具 二、登陆linux服务器进行安装 2.1将安装包上传到服务器 2.2解压和配置 2.3编辑环境变量 2.4生效文件 2.5修改catalina.sh 2.6修…

现在的人工智能是否走上了数学的极端?

来源&#xff1a;知乎—谢凌曦地址&#xff1a;https://www.zhihu.com/question/519393525/answer/2430233113“强基固本&#xff0c;行稳致远”&#xff0c;科学研究离不开理论基础&#xff0c;人工智能学科更是需要数学、物理、神经科学等基础学科提供有力支撑&#xff0c;为…

JUnit-4.12报java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing异常的解决

目录 QUESTION&#xff1a;JUnit-4.12报java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing异常的解决&#xff1f; ANWSER: 问题原因&#xff1a; 方法一&#xff1a; 方法二&#xff1a; QUESTION&#xff1a;JUnit-4.12报java.lang.NoClassDefFoundError: or…

谷歌丢弃 TensorFlow:豪赌 JAX

来源&#xff1a;云头条・谷歌是机器学习领域的开拓者&#xff0c;发布了其中一种最早的通用框架TensorFlow。・Meta发布AI框架PyTorch之后&#xff0c;TensorFlow逐渐失去了开发人员的青睐。・如今谷歌内部正押宝在一个取代TensorFlow的新AI项目JAX上。2015年&#xff0c;谷歌…

Lucene基本使用和代码实现

目录 Lucene:全文检索技术 一、Lucene的介绍 1.1背景 1.2优点 1.3Lucene的缺点 1.4全文检索 二、Lucene的基本使用流程 2.1Lucene检索过程 2.2获取文档 2.3分析文档&#xff08;分词&#xff09; 2.4创建索引 2.5查询索引 三、Lucene具体实现 3.1下载 3.2实际开发…

深度学习的坎坷六十年

来源&#xff1a;机器之心编辑&#xff1a;极市平台从1958年弗兰克.罗森布拉特发明的感知机、RNN、LeNet-5到Transformers等等&#xff0c;前人们一步一步的带动着深度学习往前跑。本文主要偏向于计算机视觉方向&#xff0c;带大家回想智慧凝结的每一个里程碑。1958 年&#xf…

全干货!机器学习通识篇知识分享

来源&#xff1a;海豚数据科学实验室机器学习&#xff08;通识篇&#xff09;.机器学习定义机器学习&#xff08;Machine Learning&#xff09;本质上就是让计算机自己在数据中学习规律&#xff0c;并根据所得到的规律对未来数据进行预测。机器学习包括如聚类、分类、决策树、贝…

在弱肉强食的世界里,人类的美德意识为何能够超越其他物种?

来源&#xff1a;混沌巡洋舰本文摘编整理自《人性悖论&#xff1a;人类进化中的美德与暴力》 中信出版集团 2022年6月狭隘利他主义假设&#xff0c;战争可能导致自我牺牲&#xff0c;似乎只适用于其文化效应方面&#xff0c;而不能解释为进化上的选择力量。然而&#xff0c;该理…

一场关于物理学本质的争论:实验是检验科学的唯一标准吗?

来源&#xff1a;本文经公众号“环球科学ScientificAmerican”&#xff08;ID: huanqiukexue&#xff09;撰文&#xff1a;马西莫皮柳奇&#xff08;Massimo Pigliucci&#xff09;翻译&#xff1a;叶宣伽审校&#xff1a;丁家琦为了统一广义相对论和量子力学而建立的弦理论&am…

搭建分布式环境:Dubbo+Zookeeper

QUESTION&#xff1a;搭建分布式环境:DubboZookeeper&#xff1f; ANSWER: 一&#xff1a;官网下载Zookeeper 点击官网:Zookeeper&#xff0c;进行下载。 下载完成&#xff0c;解压缩到文件。 二&#xff1a;配置启动Zookeeper 进入conf目录&#xff0c;复制zoo_sample.cfg一…