news 2026/8/5 17:32:34

Javaweb之SpringBootWeb案例之 登录功能的详细解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Javaweb之SpringBootWeb案例之 登录功能的详细解析

1. 登录功能

1.1 需求

在登录界面中,我们可以输入用户的用户名以及密码,然后点击 "登录" 按钮就要请求服务器,服务端判断用户输入的用户名或者密码是否正确。如果正确,则返回成功结果,前端跳转至系统首页面。

1.2 接口文档

我们参照接口文档来开发登录功能

  • 基本信息

    请求路径:/login ​ 请求方式:POST ​ 接口描述:该接口用于员工登录Tlias智能学习辅助系统,登录完毕后,系统下发JWT令牌。
  • 请求参数

    参数格式:application/json

    参数说明:

    名称类型是否必须备注
    usernamestring必须用户名
    passwordstring必须密码

    请求数据样例:

    { "username": "jinyong", "password": "123456" }
  • 响应数据

    参数格式:application/json

    参数说明:

    名称类型是否必须默认值备注其他信息
    codenumber必须响应码, 1 成功 ; 0 失败
    msgstring非必须提示信息
    datastring必须返回的数据 , jwt令牌

    响应数据样例:

    { "code": 1, "msg": "success", "data": "eyJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoi6YeR5bq4IiwiaWQiOjEsInVzZXJuYW1lIjoiamlueW9uZyIsImV4cCI6MTY2MjIwNzA0OH0.KkUc_CXJZJ8Dd063eImx4H9Ojfrr6XMJ-yVzaWCVZCo" }

1.3 思路分析

登录服务端的核心逻辑就是:接收前端请求传递的用户名和密码 ,然后再根据用户名和密码查询用户信息,如果用户信息存在,则说明用户输入的用户名和密码正确。如果查询到的用户不存在,则说明用户输入的用户名和密码错误。

1.4 功能开发

LoginController

@RestController public class LoginController { ​ @Autowired private EmpService empService; ​ @PostMapping("/login") public Result login(@RequestBody Emp emp){ Emp e = empService.login(emp); return e != null ? Result.success():Result.error("用户名或密码错误"); } }

EmpService

public interface EmpService { ​ /** * 用户登录 * @param emp * @return */ public Emp login(Emp emp); ​ //省略其他代码... }

EmpServiceImpl

@Slf4j @Service public class EmpServiceImpl implements EmpService { @Autowired private EmpMapper empMapper; ​ @Override public Emp login(Emp emp) { //调用dao层功能:登录 Emp loginEmp = empMapper.getByUsernameAndPassword(emp); ​ //返回查询结果给Controller return loginEmp; } //省略其他代码... }

EmpMapper

@Mapper public interface EmpMapper { ​ @Select("select id, username, password, name, gender, image, job, entrydate, dept_id, create_time, update_time " + "from emp " + "where username=#{username} and password =#{password}") public Emp getByUsernameAndPassword(Emp emp); //省略其他代码... }

1.5 测试

功能开发完毕后,我们就可以启动服务,打开postman进行测试了。

发起POST请求,访问:http://localhost:8080/login

postman测试通过了,那接下来,我们就可以结合着前端工程进行联调测试。

先退出系统,进入到登录页面:

在登录页面输入账户密码:

登录成功之后进入到后台管理系统页面:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/5 17:28:12

【报错】java.sql.SQLException: Invalid utf8mb3 character string: ‘ACED00‘

一、报错原文java.sql.SQLException: Invalid utf8mb3 character string: ‘ACED00’二、 报错分析 看到这个报错我第一时间看了一下查询条件里有没有传参ACED00这个内容,但发现没有后直接去百度搜索了。查找到的大部分资料表示为是数据库编码问题,也有表…

作者头像 李华
网站建设 2026/8/5 17:23:49

UnityFx.Outline:屏幕空间轮廓渲染的快速实现与性能优化指南

1. 项目概述:为什么UnityFx.Outline值得你花时间? 如果你正在Unity里捣鼓一个项目,想让某个角色、道具或者UI元素在屏幕上“亮”起来,被玩家一眼锁定,那你大概率绕不开“轮廓描边”这个效果。无论是角色选中、可交互物…

作者头像 李华
网站建设 2026/8/5 17:23:12

GetQzonehistory:轻松备份你的QQ空间历史记忆,一键保存青春时光

GetQzonehistory:轻松备份你的QQ空间历史记忆,一键保存青春时光 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾想找回多年前在QQ空间发布的说说&#x…

作者头像 李华
网站建设 2026/8/5 17:20:16

实战PySide6日期时间控件:QDateTimeEdit高效开发指南

实战PySide6日期时间控件:QDateTimeEdit高效开发指南 【免费下载链接】PySide6-Code-Tutorial 可能是最好的PySide6中文教程!用代码实例讲解PySide6,附优质Demos、图标库、QSS皮肤、相关文章等分享! 项目地址: https://gitcode.…

作者头像 李华