
Java项目
文章平均质量分 89
实践是检验学习效果的唯一标准
大王雨辰
路虽远,行则将至;
事虽难,做则必成.
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[尚庭公寓]08-项目初始化
资料中提供了所有的Controller代码,并且Controller中定义好了每个接口(只有定义,没有实现),大家可直接导入接口定义相关的代码,然后只专注于接口逻辑的实现。导入完成后,便可启动SpringBoot项目,并访问接口文档了,Knife4j文档的url为:http://localhost:8080/doc.html。知识点vo(View Object):用于封装或定义接口接收及返回的数据的结构。统一接口返回数据结构:为方便前端对接口数据进行处理,统一接口返回数据结构是一个良好的习惯。原创 2025-07-09 10:01:10 · 673 阅读 · 0 评论 -
[尚庭公寓]07-Knife快速入门
Knife4j有多个版本,最新版的Knife4j基于开源项目`springdoc-openapi`,这个开源项目的核心功能就是根据SpringBoot项目中的代码自动生成符合OpenAPI规范的接口信息。创建`com.atguigu.helloknife4j.config.Knife4jConfiguration`,内容如下。将资料中的`lease.sql`脚本导入`lease`数据库,其中包含了建表语句和少量的原始数据。`@Tag`注解用于对接口进行分类,相同`Tag`的接口会放在同一个菜单。原创 2025-07-07 09:25:23 · 548 阅读 · 0 评论 -
[尚庭公寓]06-Redis快速入门
Redis(Remote Dictionary Server)是一个**基于内存**的键值对存储系统,常用作缓存服务。由于Reids将数据都保存在内存中,因此其读写性能十分惊人,同时,为保证数据的可靠性,Redis会将数据备份到硬盘上,用于故障发生时的数据恢复。Redis特点高性能Redis主要将数据存储在内存中,因此读写速度非常快,适合对速度有较高要求的场景。支持多种数据结构Redis中键值对的值(Value)支持多种数据结构,如字符串、哈希表、列表、集合等,这使得它可以应用于多种不同的场景。原创 2025-07-04 15:22:41 · 1274 阅读 · 0 评论 -
[尚庭公寓]05-MinIO快速入门
对象URL为MinIO的`Endpoint`+`对象的存储路径`,例如下图中的图片对象的URL为[http:192.168.10.101:9000/test/公寓-外观.jpg](http:192.168.10.101:9000/test/公寓-外观.jpg)。重新访问[http:192.168.10.101:9000/test/公寓-外观.jpg](http:192.168.10.101:9000/test/公寓-外观.jpg),观察是否正常。运行上述代码,然后查看MinIO管理页面,观察是否上传成功。原创 2025-06-30 10:23:20 · 1256 阅读 · 0 评论 -
[尚庭公寓]04-MyBatis Plus快速入门
MyBatis-Plus(简称 MP)是一个MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑强大的 CRUD 操作:内置通用 Mapper、通用 Service,提供了大量的通用的CRUD方法,因此可以省去大量手写sql的语句的工作。条件构造器:提供了强大的条件构造器,可以构造各种复杂的查询条件,以应对各种复杂查询。原创 2025-06-26 09:52:00 · 1051 阅读 · 0 评论 -
[尚庭公寓]03-开发环境
系统自带的防火墙服务`firewalld`,我们自己安装的`mysqld`和`redis`均是由`Systemd`进行管理的,此处将MinIO服务也交给Systemd管理。在`server01`部署MinIO,安装方式采用rpm离线安装,具体步骤可参考[官方文档](https://min.io/docs/minio/linux/operations/install-deploy-manage/deploy-minio-single-node-single-drive.html#minio-snsd)。原创 2025-06-23 13:45:17 · 878 阅读 · 0 评论 -
[尚庭公寓]02-Linux速通
Linux是一种开源操作系统,与Windows或macO6等操作系统不同,Linux允许用户自由地查看、修改和分发其源代码。以下是Linux系统的一些显著的优势。稳定性和可靠性:Linux内核以其稳定性而闻名,能够持续运行数月甚至数年而不需要重新启动。这对于服务器来说至关重要,因为它们需要保持长时间的稳定运行,以提供持续的服务。安全性:Linux系统的安全性得到了广泛认可。开源的自然属性使得漏洞可以很快被发现和修复,从而降低了受到安全威胁的风险。原创 2025-06-16 09:19:54 · 1647 阅读 · 0 评论 -
[尚庭公寓]01-项目概述
尚庭公寓是一个公寓租赁平台项目,包含移动端和后台管理系统其中移动端面向广大用户,提供找房、看房预约、租约管理等功能,后台管理系统面向管理员,提供公寓(房源)管理、租赁管理、用户管理等功能。下面分别介绍两端的具体业务功能移动端的线上体验地址为: http://39.99.159.121:8002其主要业务功能如下图所示各功能模块具体内容如下房源检索用户可以使用这个功能来搜索和检索符合其需求的房源。他们可以根据不同的条件,如地理位置、租金范围、支付方式等,快速找到适合的房源。看房预约管理。原创 2025-06-09 11:38:05 · 1666 阅读 · 0 评论 -
[学成在线]23-面试题总结
maven依赖版本冲突一般是由于间接依赖导致一个jar包即有多个不同的版本,比如:A依赖了B的1.0版本,C依赖了B的2.0版本,项目依赖A和C从而间接依赖了B的1.0和2.0版本,此时B有两个版本引入到了项目中,当存在版本冲突时可能会出现 ClassNotFoundException、NoSuchMethodError等错误。3)唯一序列号,请求前生成唯一的序列号,携带序列号去请求,执行时在redis记录该序列号表示以该序列号的请求执行过了,如果相同的序列号再次来执行说明是重复执行。原创 2025-05-05 13:56:51 · 1482 阅读 · 0 评论 -
[学成在线]22-自动部署项目
在pom.xml添加docker-maven-plugin插件实现将springboot工程创建镜像,此pom.xml添加docker-maven-plugin插件用于生成镜像。分别修改system-api、content-api、media-api、gateway、auth、checkcode服务的pom.xml文件。将此目录的内容拷贝到虚拟机的/data/soft/nginx/xuecheng_portal_static/dist。将本机的nginx服务停掉,访问www.51xuecheng.cn。原创 2025-05-02 10:56:07 · 1695 阅读 · 0 评论 -
[学成在线]21-人工部署项目
DevOps兴起于2009年,近年来由于云计算、互联网的发展,促进了DevOps的基础设施及工具链的发展,涌现了一大批优秀的工具,这些工具包括开发、测试、运维的各各领域,例如:GitHub、Docker、Jenkins、Hudson、K8S、Ant/Maven/Gradle、Selenium、QUnit、JMeter等。所以,在整体生命周期中比较核心的两个阶段是:开发阶段、维护阶段,开发阶段的成果是软件开发完成并成功上线,运维阶段则负责对软件进行维护和升级,而运维阶段通常在一个软件的生命周期中占比最多。原创 2025-04-30 10:15:49 · 1112 阅读 · 0 评论 -
[学成在线]20-在线学习
在视频点播页面需要查询课程信息,课程上线后也需要访问/api/content/course/whole/{courseId}课程预览时请求获取课程的接口为:/open/content/course/whole/{courseId}下边实现/api/content/course/whole/{courseId} 获取课程发布信息接口。登录网站,点击“我的学习”进入个人中心,查看我的课程表中课程是否是当前用户所选课程。没有选课的免费课程、收费课程各一门,其中收费课程具有试学课程。原创 2025-04-28 10:10:02 · 814 阅读 · 0 评论 -
[学成在线]19-支付通知
订单服务完成支付后将支付结果发给每一个与订单服务对接的微服务,订单服务将消息发给交换机,由交换机广播消息,每个订阅消息的微服务都可以接收到支付结果.订单服务通过消息队列将支付结果发给学习中心服务,消息队列采用发布订阅模式。订单服务作为通用服务在订单支付成功后需要将支付结果异步通知给其它微服务。学习资源服务:对收费的学习资料需要购买后下载,与订单服务对接完成支付。学习中心服务:对收费课程选课需要支付,与订单服务对接完成支付。2、支付完成点击“支付完成”,观察订单服务控制台是否发送消息。原创 2025-04-25 10:39:34 · 1116 阅读 · 0 评论 -
[学成在线]18-支付宝支付
支付完成后第三方支付系统会主动通知支付结果,要实现主动通知需要在请求支付系统下单时传入NotifyUrl,这里有两个url:NotifyUrl和ReturnUrl,ReturnUrl是支付完成后支付系统携带支付结果重定向到ReturnUrl地址,NotifyUrl是支付完成后支付系统在后台定时去通知,使用NotifyUrl比使用ReturnUrl有保证。具体的使用方法是在调用下单接口的 API 中传入的异步通知地址 notify_url,通过 POST 请求的形式将支付结果作为参数通知到商户系统。原创 2025-04-23 10:18:09 · 1732 阅读 · 0 评论 -
[学成在线]17-添加选课
本模块实现了学生选课、下单支付、学习的整体流程。网站的课程有免费和收费两种,对于免费课程学生选课后可直接学习,对于收费课程学生需要下单且支付成功方可选课、学习。选课:是将课程加入我的课程表的过程。我的课程表:记录我在网站学习的课程,我的课程表中有免费课程和收费课程两种,对于免费课程可直接添加到我的课程表,对于收费课程需要下单、支付成功后自动加入我的课程表。原创 2025-04-21 10:44:35 · 992 阅读 · 0 评论 -
[学成在线]16-用户授权
本项目是基于角色分配权限,如果要删除用户的权限可以给用户换角色,那么新角色下的权限就是用户的权限;如果不换用户的角色可以删除角色下的权限即删除角色权限关系表相应记录,这样操作是将角色下的权限删除,属于该角色的用户都将删除此权限。一个例子:用户A和用户B都是教学机构,他们都拥有“我的课程”权限,但是两个用户所查询到的数据是不一样的。细粒度授权涉及到不同的业务逻辑,通常在service层实现,根据不同的用户进行校验,根据不同的参数查询不同的数据或操作不同的数据。原创 2025-04-19 05:19:05 · 946 阅读 · 0 评论 -
[学成在线]15-微信扫码登录
前端引入微信官方提供的JS, 生成登录二维码用户扫码授权后, 微信会重定向到我们的URL(前端指定), 携带授权码我们拿到授权码, 调用微信服务申请令牌信息使用令牌获取用户信息拿到用户信息后, 我们把用户信息写入我们的数据库, 完成用户注册用户注册成功后, 我们返回一个重定向地址, 首页URL+用户名+登录类型(wx),前端拿到重定向地址, 进行重定向, 完成自动登录。原创 2025-04-17 10:07:05 · 1311 阅读 · 0 评论 -
[学成在线]14-用户认证
数据库中的密码加过密的,用户输入的密码是明文,我们需要修改密码格式器PasswordEncoder,原来使用的是NoOpPasswordEncoder,它是通过明文方式比较密码,现在我们修改为BCryptPasswordEncoder,它是将用户输入的密码编码为BCrypt格式与数据库中的密码进行比对。在认证阶段DaoAuthenticationProvider会调用UserDetailService查询用户的信息,这里是可以获取到齐全的用户信息的。这个key和图片一同返回给页面。原创 2025-04-14 10:14:31 · 984 阅读 · 0 评论 -
[学成在线]13-Spring Security入门
扫码登录的好处是用户不用输入账号和密码,操作简便,另外一个好处就是有利于用户信息的共享,互联网的优势就是资源共享,用户也是一种资源,对于一个新网站如果让用户去注册是很困难的,如果提供了微信扫码登录将省去用户注册的成本,是一种非常有效的推广手段。)方法,设置到其中。令牌采用JWT格式即可解决上边的问题,用户认证通过后会得到一个JWT令牌,JWT令牌中已经包括了用户相关的信息,客户端只需要携带JWT访问资源服务,资源服务根据事先约定的算法自行完成令牌校验,无需每次都请求认证服务完成授权。原创 2025-04-10 09:52:18 · 949 阅读 · 0 评论 -
[学成在线]12-课程搜索
搜索功能是一个系统的重要功能,是信息查询的方式。课程搜索是课程展示的渠道,用户通过课程搜索找到课程信息,进一步去查看课程的详细信息,进行选课、支付、学习。本项目的课程搜索支持全文检索技术,什么是全文检索?原创 2025-04-07 09:51:44 · 1348 阅读 · 0 评论 -
[学成在线]11-课程发布
现在的需求是课程发布操作后将数据写入数据库、redis、elasticsearch、MinIO四个地方,这四个地方已经不限制在一个数据库内,是由四个分散的服务去提供,与这四个服务去通信需要网络通信,而网络存在不可到达性,这种分布式系统环境下,通过与不同的服务进行网络通信去完成事务称之为。拿课程发布任务举例,执行课程发布任务是要向redis、索引库等同步数据,其它任务的执行逻辑是不同的,所以执行任务在sdk中不用实现任务逻辑,只需要提供一个抽象方法由具体的执行任务方去实现。原创 2025-04-04 15:46:02 · 1405 阅读 · 0 评论 -
[学成在线]10-课程审核
5、课程审核过后不管状态是通过还是不通过,教学机构可以再次修改课程并提交审核,此时课程状态为”已提交“。提交课程审核,将课程信息汇总后写入课程预发布表,课程预发布表记录了教学机构在某个时间点要发布的课程信息。课程审核后更新课程基本信息表的审核状态、课程预发布表的审核状态,并将审核结果写入课程审核记录。此时课程的审核状态为”已提交“。1、查询课程基本信息、课程营销信息、课程计划信息等课程相关信息,整合为课程预发布信息。6、课程审核通过,教学机构人员可以发布课程,发布成功后课程的发布状态为”已发布“。原创 2025-04-02 17:06:00 · 689 阅读 · 0 评论 -
[学成在线]09-课程预览
课程信息编辑完毕即可发布课程,发布课程相当于一个确认操作,课程发布后学习者在网站可以搜索到课程,然后查看课程的详细信息,进一步选课、支付、在线学习。下边是课程编辑与发布的整体流程:为了课程内容没有违规信息、课程内容安排合理,在课程发布之前运营方会进行课程审核,审核通过后课程方可发布。作为课程制作方即教学机构,在课程发布前通过课程预览功能可以看到课程发布后的效果,哪里的课程信息存在问题方便查看,及时修改。下图是课程预览的效果图,也是课程正式发布后的课程详情界面:原创 2025-03-31 11:03:21 · 1116 阅读 · 0 评论 -
[学成在线]08-课程绑定媒资
根据业务流程,用户进入课程计划列表,首先确定向哪个课程计划添加视频,点击”添加视频“后用户选择视频,选择视频,点击提交,前端以json格式请求以下参数: 提交媒资文件id、文件名称、教学计划id。原创 2025-03-28 10:31:48 · 576 阅读 · 0 评论 -
[学成在线]07-视频转码
XXL-JOB是一个轻量级分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线,开箱即用。官网:https://www.xuxueli.com/xxl-job/文档:https://www.xuxueli.com/xxl-job/#%E3%80%8A%E5%88%86%E5%B8%83%E5%BC%8F%E4%BB%BB%E5%8A%A1%E8%B0%83%E5%BA%A6%E5%B9%B3%E5%8F%B0XXL-JOB%E3%80%8B。原创 2025-03-26 10:01:04 · 1046 阅读 · 0 评论 -
[学成在线]06-视频分片上传
需求背景通常视频文件都比较大,所以对于媒资系统上传文件的需求要满足大文件的上传要求。http协议本身对上传文件大小没有限制,但是客户的网络环境质量、电脑硬件环境等参差不齐,如果一个大文件快上传完了网断了没有上传完成,需要客户重新上传,用户体验非常差,所以对于大文件上传的要求最基本的是断点续传。什么是断点续传。原创 2025-03-24 09:50:11 · 1408 阅读 · 0 评论 -
[学成在线]05-分布式文件系统
要理解分布式文件系统首先了解什么是文件系统。文件系统是负责管理和存储文件的系统软件,操作系统通过文件系统提供的接口去存取文件,用户通过操作系统访问磁盘上的文件。下图指示了文件系统所处的位置:常见的文件系统:FAT16/FAT32、NTFS、HFS、UFS、APFS、XFS、Ext4等。现在有个问题,一此短视频平台拥有大量的视频、图片,这些视频文件、图片文件该如何存储呢?如何存储可以满足互联网上海量用户的浏览。今天讲的分布式文件系统就是海量用户查阅海量文件的方案。原创 2025-03-14 10:42:45 · 1043 阅读 · 0 评论 -
[学成在线]04-课程计划管理
响应结果需要自定义模型类/*** @description 课程计划树型结构dto*/@Data@ToString//课程计划关联的媒资信息//子结点/*** @description 课程计划管理接口*/@Api(value = "课程计划管理接口",tags = "课程计划管理接口")@ApiOperation("查询课程计划树形结构")原创 2025-03-12 14:44:18 · 972 阅读 · 0 评论 -
[学成在线]03-课程内容管理2
前端请求后端接口传输参数,是在controller中校验还是在Service中校验?答案是都需要校验,只是分工不同。Contoller中校验请求参数的合法性,包括:必填项校验,数据格式校验,比如:是否是符合一定的日期格式,等。Service中要校验的是业务规则相关的内容,比如:课程已经审核通过所以提交失败。Service中根据业务规则去校验不方便写成通用代码,Controller中则可以将校验的代码写成通用代码。原创 2025-03-10 14:48:42 · 1190 阅读 · 0 评论 -
[学成在线]02-课程内容管理1
1.课程列表添加课程选择录播, 填写课程信息填写课程计划信息填写师资信息课程信息填写完毕, 先进行提交审核, 审核通过后可以发布课程内容管理模块的基础表涉及9张,如下:使用 PowerDesigner打开课程资料下的"数据库\模型\学成在线项目.sws”教学机构人员点击课程管理首先进入课程查询界面在课程进行列表查询页面输入查询条件查询课程信息当不输入查询条件时输入全部课程信息。输入查询条件查询符合条件的课程信息。约束:本教学机构查询本机构的课程信息。数据模型。原创 2025-03-07 10:01:22 · 1625 阅读 · 0 评论 -
[学成在线]01-项目环境搭建
适学人群需要提高项目开发经验, 并且具备Java web、MySQL、Mybatis、SpringBoot、SpringCloud 基础课程亮点业务流程完整、详细,深入讲解课程发布业务、视频处理业务、选课学习业务、订单支付业务、认证授权等业务流程。课程涵盖项目需求分析、设计、编码、调试、测试整个开发过程技术先进,当前热门的Spring Cloud Alibaba微服务技术栈,采用Nginx、MQ、Redis、Elasticsearch、MinIO、XXL-Job等中间件技术。原创 2025-03-05 11:08:39 · 877 阅读 · 0 评论 -
[瑞吉外卖]-10前后端分离
使用Swagger你只需要按照它的规范去定义接口及接口相关的信息,再通过Swagger衍生出来的一系列项目和工具就可以做到生成各种格式的接口文档,以及在线接口调试页面等等。概念: 前后端分离开发,就是在项目开发过程中,对于前端代码的开发由专门的前端开发人员负责,后端代码则由后端开发人员负责。接口: API接口就是一个http的请求地址, 主要就是定义: 请求路径、请求方式、请求参数、响应数据等内容。YApi 是高效、易用、功能强大的 api 管理平台,旨在开发、产品、测试人员提供更优雅的接口管理服务。原创 2024-10-30 09:45:06 · 1066 阅读 · 0 评论 -
[瑞吉外卖]-09数据库优化
当前项目中, 数据库的读和写都由一台数据库承担,压力大, 数据库服务器磁盘损坏则数据丢失,造成单点故障MySQL主从复制是一个异步的复制过程,底层是基于Mysql数据库自带的二进制日志功能。就是一台或多台MySOL数据库(slave,即从库)从另一台MySOL数据库(master,即主库)进行日志的复制然后再解析日志并应用到自身,最终实现从库的数据和主库的数据保持一致。MySQL主从复制是MySOL数据库自带功能,无需借助第三方工具。master将改变记录到二进制日志(binary log)原创 2024-10-28 10:39:48 · 2035 阅读 · 0 评论 -
[瑞吉外卖]-08订单支付
在购物车中可以修改菜品和套餐的数量也可以清空购物车。移动端用户将菜品或者套餐加入购物车后,可以点击购物车中的 [去结算] 按钮, 页面跳转到订单确认页面, 点击[去支付] 按钮则完成下单操作。地址簿,指的是移动端消费者用户的地址信息,用户登录成功后可以维护自己的地址信息。菜品查询: 之前根据分类id查询菜品, 返回的菜品数据中不包含口味数据, 现在需要加上, 因为前端需要展示。在开发代码之前,需要梳理一下用户下单操作时前端页面和服务端的交互过程。在开发业务功能前,先将需要用到的类和接口基本结构创建好。原创 2024-10-18 13:21:43 · 782 阅读 · 0 评论 -
[瑞吉外卖]-07验证码登录
目前市面上有很多第三方提供的短信服务,这些第三可方短信服务会和各个运营商(移动、联通、电信)对接,我们只需要注册成为会员并且按照提供的开发文档进行调用就以发送短信。需要说明的是,这些短信服务一般都是收费服务。常用短信服务阿里云华为云腾讯云京东梦网乐信阿里云短信服务(Short Message Service)是广大企业客户快速触达手机用户所优选使用的通信能力。调用API或用群发助手,即可发送验证码、通知类和营销类短信:国内验证短信秒级触达,到达率最高可达99%;原创 2024-10-16 13:13:49 · 871 阅读 · 0 评论 -
[瑞吉外卖]-06套餐模块
在套餐管理列表页面点击删除按钮,可以删除对应的套餐信息。也可以通过复选框选择多个套餐,点击批量删除按钮一次删除多个套餐。注意,对于状态为售卖中的套餐不能删除,需要先停售,然后才能删除。系统中的套餐数据很多的时候,如果在一个页面中全部展示出来会显得比较乱,不便于查看,所以一般的系统中都会以分页的方式来展示列表数据。新增套餐,其实就是将套餐信息插入到setmeal表,还需要向setmeal dish表插入套餐和菜品关联数据。在开发代码之前,需要梳理一下删除套餐时前端页面和服务端的交互过程。套餐就是菜品的集合。原创 2024-10-15 10:14:18 · 812 阅读 · 0 评论 -
[瑞吉外卖]-05菜品模块
文件上传也称为upload,是指将本地图片、视频、音频等文件上传到服务器上, 可以供其他用户浏览或下载前端组件库提供了上传组件,但是底层原理还是基于form表单的文件上传。服务端要接收客户端上传的文件,通常都会使用Apache的两个组件: commons-fileupload 和 commons-ioSpring框架在spring-web包中对文件上传进行了封装,大大简化了服务端代码,我们只需要在Controller的方法中声明-个MultipartFile类型的参数即可接收上传的文件。原创 2024-10-14 09:31:16 · 1175 阅读 · 0 评论 -
[瑞吉外卖]-04分类模块
在分类管理列表页面点击修改按钮,弹出修改窗口,在修改窗口回显分类信息并进行修改,最后点击确定按钮完成修改操作, 回显前端已经处理好了, 只需要开发修改接口即可。系统中的分类很多的时候,如果在一个页面中全部展示出来会显得比较乱,不便于查看,所以一般的系统中都会以分页的方式来展示列表数据。新增菜品分类和新增套餐分类请求的服务端地址和提交的json数据结构相同,所以服务端只需要提供一个方法统一处理即可。在分类管理列表页面,可以删除某个分类。后台系统中可以管理分类信息,分类包括两种类型,分别是菜品分类和套餐分类。原创 2024-10-12 11:12:18 · 1076 阅读 · 0 评论 -
[瑞吉外卖]03-员工模块
账号禁用的员工不能登录系统,启用后的员工可以正常登录。在员工管理列表页面点击编辑按钮,跳转到编辑页面,在编辑页面回显员工信息并进行修改,最后点击保存按钮完成编辑操作。通过测试, 发现员工账号的状态并没有被更新, 经过排查, 发现前端传递过来的id是失真的, 导致无法正确更新。后台系统中可以管理员工信息, 通过新增员工来添加后台系统用户, 点击[添加员工]按钮跳转到新增页面。当数据量比较大时, 一个页面展示所有数据会比较乱,不便于查看, 所以一般采用分页的形式展示数据。原创 2024-10-10 09:38:48 · 1496 阅读 · 0 评论 -
[瑞吉外卖]02-登录登出
前面已经完成了员工登录退出的功能, 由于没有登录校验, 当用户直接访问系统首页, 即便没有登录也可以访问,需求分析: 用户点击退出按钮, 发送退出请求, 后端清理Session中的用户id。返回结果类: 服务端相应的所有结果最终都会包装成该类型返回给前端页面。测试登录成功, 用户名错误, 密码错误, 用户禁用等多种情况。创建Controller, Service, Mapper。在controller层创建登录方法, 梳理登录逻辑。我们的需求是用户未登录的情况下让用户去往登录页。原创 2024-10-09 09:28:08 · 568 阅读 · 0 评论