概述

用SpringBoot整合完成Themeleaf完成简单的登录功能,有错误提示和判空处理

具体实现

表格:

<form method="post" th:action="@{testLogin}" th:object="${user}"><label><input type="text" th:field="*{name}" placeholder="账号"></label><label><input type="password" th:field="*{password}" placeholder="密码"></label><input type="submit" value="登录">
</form>

其中th:action 表示提交之后是别的controller
th:field 表示对象的属性,这里和vue的v-model差不多
需要注意的是,
这里的的对象是之前传递过来的上下文里面的,所以需要绑定,否则会报错。

//进入登陆页面
@GetMapping("login")
public String index(Model model){//添加一个对象到上下文model.addAttribute("user",new AdminUser());return "index";
}

之后就是对传递过来的值进行判断并跳转

 @PostMapping("testLogin")public String testLogin(@ModelAttribute AdminUser user,Model model){System.out.println(user);//没有输入if(user.getPassword().equals("") || user.getName().equals("")){model.addAttribute("msg1","账号或者密码不能为空");model.addAttribute("msgCode","401");model.addAttribute("user",new AdminUser());return "index";}//登录成功跳转到指定页面if (userService.judgeLogin(user)) {model.addAttribute("user",user);model.addAttribute("msg","登录成功");System.out.println("登录成功");return "mytest";}//登录失败进行提示else {model.addAttribute("msg2","账号或者密码错误");model.addAttribute("msgCode","402");model.addAttribute("user",new AdminUser());System.out.println("登录失败");return "index";}}

我这里是放到数据库进行判断的。提前写好了就不赘述了。
为了界面友好,将返回值信息进行提示。

<script th:inline = "javascript">if([[${msgCode}]] === "402"){alert([[${msg2}]])}if([[${msgCode}]] === "401"){alert([[${msg1}]])}
</script>

在登录成功的页面进行信息的展示

<h1 th:text="欢迎登录+${user.name}"></h1>

效果展示

正常输入账号密码之后

会跳转到其他页面并显示用户信息

如果输入账号密码错误会有提示

如果不输入也会有提示

出现的问题

  1. 获取静态资源获取不到的时候加上
spring:mvc:static-path-pattern: /static/**
  1. mybatis使用#和$
    <select id="getByName" resultType="adminUser">select * from admin_userwhere name =${name}</select>

用$的时候,会直接替换,sql如下

SQL: select * from admin_user         where name =mango

而用#则是先变成占位符 ? 再进行传递,所以为了防止sql注入,尽量使用#
sql注入:简单来说就是一些外在因素导致sql语句失效或者与原意不同。

参考

部分内容参考
登录页面css

总结

SpringBoot整合完成Themeleaf完成登录功能相关推荐

  1. SpringBoot整合小程序微信登录功能

    一.SpringBoot整合微信登录 ​ 小程序的使用已经是一个普遍的现象,对于刚学习SpringBoot的我们来说完全的写好一套微信登录的案例有一定的难度,这里结合自己的一些学习经验,把微信登录这一 ...

  2. SpringBoot整合微信扫码登录

    SpringBoot整合微信扫码登录 准备工作 基本思路流程 搭建SpringBoot 引入依赖 加入配置文件 代码实现 工具类 controller层 结果 准备工作 1.登录官网了解到,学习者想本 ...

  3. SpringBoot项目中集成第三方登录功能

    SpringBoot项目中集成第三方登录功能 引言 1 环境准备 2 代码实现 3 第三方平台认证申请 4 打包和部署项目 5 第三方平台登录认证测试 6 参考文章 引言 最近想把自己在公众号上介绍过 ...

  4. CAS5.3服务器搭建及SpringBoot整合CAS实现单点登录

    CAS5.3服务器搭建及SpringBoot整合CAS实现单点登录 1.1 什么是单点登录 1.2 什么是CAS 1.3 CAS服务端部署 1.template下载 1.4 客户端搭建 1.1 什么是 ...

  5. Spring整合MyBatis:实现登录功能

    一.项目搭建 1.创建 web 项目:spring_mybatis 2.搭建项目的目录结构 3.导入 jar 包 注意: 导入 web/WEB-INF/lib 中,一下 jar 包都需要导入 4.创建 ...

  6. SpringBoot整合Shiro实现一键登录和免密码登录功能

    前提: 大概是这样一个情况,我们有两个平台,一个是运营平台,一个是使用平台,我们的每个运维人员手底下管理者许多的客户的账号,为了方便运维和避免经常问用户索要密码,那么在这种情况下就需要用到我们的一键登 ...

  7. SpringBoot整合Keycloak实现单点登录

    Keycloak是一个开源的身份和权限访问管理工具,轻松为应用程序和安全服务添加身份验证,无需处理储存用户或者验证用户,其提供用户联合.强健的身份验证.用户管理和细粒度授权等功能. 1. 搭建Keyc ...

  8. springboot实现简单的注册登录功能

    初始化项目 通过官网初始化SpringBoot项目,包结构如图所示: 添加pom依赖 <!--springboot启动类--><dependency><groupId&g ...

  9. 项目整合微信扫码登录功能

    项目整合微信登录功能 一.准备工作 https://open.weixin.qq.com 1.注册 2.邮箱激活 3.完善开发者资料 4.开发者资质认证 准备营业执照,1-2个工作日审批.300元 5 ...

最新文章

  1. SQL2005CLR函数扩展-正则表达式
  2. 空集的cardinality是0
  3. Altium Designer 18/AD 设置禁止布线层和铜皮或者其他线之间的间距
  4. BFPTR算法详解+实现+复杂度证明
  5. java 多线程callable_java 多线程-实现Callable接口
  6. 联合国超10万名员工记录遭泄露
  7. Passware Kit Enterprise破解版下载及使用方法
  8. 计算机维护工作周报,运维周报怎么写呀,这一周没什么事做
  9. 在线SVG转换,支持SVG to PNG、SVG to JPEG、SVG to WEBP 图片转换操作-toolfk程序员在线工具网
  10. 写一个矩阵相乘的函数
  11. 2023 《电脑PC游戏》 红警3:起义时刻
  12. cocos-lua环境搭建
  13. Linux 进程信号
  14. 仿淘宝ViewPager左滑加载详情界面
  15. python输出玫瑰花
  16. 【MM32F5270开发板试用】二、探测环境温度和光照度参数
  17. js内置对象处理-打印学生成绩单
  18. Win10实现窗口AeroGlass化
  19. UVA 662 Fast Food(dp)
  20. Linux小游戏汇总

热门文章

  1. 满足用户的即时需求,金融云的效率优先与生态开放
  2. 网站建设的好处有哪些?
  3. 2021年中国药品零售发展现状:景气度上升,销售规模增长[图]
  4. Wireshark分析--SMB2协议包及hashcat爆破
  5. librosa出现OSError: sndfile library not found
  6. 新人做外贸技巧方法 外贸新人如何高效开发国外客户注意事项
  7. websocket面试题
  8. 【Python】用Python制作可视化GUI界面,一键实现证件照背景颜色的替换
  9. 知道域用户名如何确认计算机名,如何获得域用户的用户名
  10. 如何做小红书封面?笔记要爆封面设置少不了