SpringBoot整合完成Themeleaf完成登录功能
概述
用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>
效果展示
正常输入账号密码之后
会跳转到其他页面并显示用户信息
如果输入账号密码错误会有提示
如果不输入也会有提示
出现的问题
- 获取静态资源获取不到的时候加上
spring:mvc:static-path-pattern: /static/**
- 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完成登录功能相关推荐
- SpringBoot整合小程序微信登录功能
一.SpringBoot整合微信登录 小程序的使用已经是一个普遍的现象,对于刚学习SpringBoot的我们来说完全的写好一套微信登录的案例有一定的难度,这里结合自己的一些学习经验,把微信登录这一 ...
- SpringBoot整合微信扫码登录
SpringBoot整合微信扫码登录 准备工作 基本思路流程 搭建SpringBoot 引入依赖 加入配置文件 代码实现 工具类 controller层 结果 准备工作 1.登录官网了解到,学习者想本 ...
- SpringBoot项目中集成第三方登录功能
SpringBoot项目中集成第三方登录功能 引言 1 环境准备 2 代码实现 3 第三方平台认证申请 4 打包和部署项目 5 第三方平台登录认证测试 6 参考文章 引言 最近想把自己在公众号上介绍过 ...
- CAS5.3服务器搭建及SpringBoot整合CAS实现单点登录
CAS5.3服务器搭建及SpringBoot整合CAS实现单点登录 1.1 什么是单点登录 1.2 什么是CAS 1.3 CAS服务端部署 1.template下载 1.4 客户端搭建 1.1 什么是 ...
- Spring整合MyBatis:实现登录功能
一.项目搭建 1.创建 web 项目:spring_mybatis 2.搭建项目的目录结构 3.导入 jar 包 注意: 导入 web/WEB-INF/lib 中,一下 jar 包都需要导入 4.创建 ...
- SpringBoot整合Shiro实现一键登录和免密码登录功能
前提: 大概是这样一个情况,我们有两个平台,一个是运营平台,一个是使用平台,我们的每个运维人员手底下管理者许多的客户的账号,为了方便运维和避免经常问用户索要密码,那么在这种情况下就需要用到我们的一键登 ...
- SpringBoot整合Keycloak实现单点登录
Keycloak是一个开源的身份和权限访问管理工具,轻松为应用程序和安全服务添加身份验证,无需处理储存用户或者验证用户,其提供用户联合.强健的身份验证.用户管理和细粒度授权等功能. 1. 搭建Keyc ...
- springboot实现简单的注册登录功能
初始化项目 通过官网初始化SpringBoot项目,包结构如图所示: 添加pom依赖 <!--springboot启动类--><dependency><groupId&g ...
- 项目整合微信扫码登录功能
项目整合微信登录功能 一.准备工作 https://open.weixin.qq.com 1.注册 2.邮箱激活 3.完善开发者资料 4.开发者资质认证 准备营业执照,1-2个工作日审批.300元 5 ...
最新文章
- SQL2005CLR函数扩展-正则表达式
- 空集的cardinality是0
- Altium Designer 18/AD 设置禁止布线层和铜皮或者其他线之间的间距
- BFPTR算法详解+实现+复杂度证明
- java 多线程callable_java 多线程-实现Callable接口
- 联合国超10万名员工记录遭泄露
- Passware Kit Enterprise破解版下载及使用方法
- 计算机维护工作周报,运维周报怎么写呀,这一周没什么事做
- 在线SVG转换,支持SVG to PNG、SVG to JPEG、SVG to WEBP 图片转换操作-toolfk程序员在线工具网
- 写一个矩阵相乘的函数
- 2023 《电脑PC游戏》 红警3:起义时刻
- cocos-lua环境搭建
- Linux 进程信号
- 仿淘宝ViewPager左滑加载详情界面
- python输出玫瑰花
- 【MM32F5270开发板试用】二、探测环境温度和光照度参数
- js内置对象处理-打印学生成绩单
- Win10实现窗口AeroGlass化
- UVA 662 Fast Food(dp)
- Linux小游戏汇总
热门文章
- 满足用户的即时需求,金融云的效率优先与生态开放
- 网站建设的好处有哪些?
- 2021年中国药品零售发展现状:景气度上升,销售规模增长[图]
- Wireshark分析--SMB2协议包及hashcat爆破
- librosa出现OSError: sndfile library not found
- 新人做外贸技巧方法 外贸新人如何高效开发国外客户注意事项
- websocket面试题
- 【Python】用Python制作可视化GUI界面,一键实现证件照背景颜色的替换
- 知道域用户名如何确认计算机名,如何获得域用户的用户名
- 如何做小红书封面?笔记要爆封面设置少不了