springboot 学习笔记(五)
(五)springboot整合thymeleaf模板,实现简单的登陆
1、修改上一节笔记中的user表,新增一个password字段,同时要求username为UNIQUE,以实现登陆校验,表结构如下。
CREATE TABLE `user` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(128) NOT NULL COMMENT '名称',
`phone` varchar(16) DEFAULT NULL COMMENT '用户手机号',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`age` int(4) DEFAULT NULL COMMENT '年龄',
`password` varchar(45) NOT NULL COMMENT '密码',
PRIMARY KEY (`id`),
UNIQUE KEY `name_UNIQUE` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8
2、新增一个通过name查询user的方法,具体代码就不写了
3、pom文件中增加thymeleaf依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
4、index.html页面放在templates文件夹下,为了页面美化,我使用了一个模板,css文件和image文件放在了static目录下的新建文件夹中,代码就不上传了。
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
<meta charset="utf-8">
<link href="/css/style.css" rel='stylesheet' type='text/css' />
<meta name="viewport" content="width=device-width, initial-scale=1">
<script type="application/x-javascript"> addEventListener("load", function() { setTimeout(hideURLbar, 0); }, false); function hideURLbar(){ window.scrollTo(0,1); } </script>
</head>
<body>
<div class="main">
<div class="login-form">
<h1>用户登陆</h1>
<div class="head">
<img src="/images/user.png" alt=""/>
</div>
<form enctype="multipart/form-data" method="post" action="/user/login">
<input type="text" class="text" name="username" value="用户名" >
<input type="password" name="password" value="password" >
<div class="submit">
<input type="submit" value="登陆">
</div>
<p><a href="#">忘记密码 ?</a></p>
</form>
</div>
</div> </body>
</html>
5、为了保证静态文件加载,需要在application.properties进行配置
#加载静态文件,否则css、image等文件加载可能出现问题
spring.mvc.static-path-pattern=/**
#开发过程中建议关闭cache,方便调试
spring.thymeleaf.cache=false
6、写一个Controller来实现登陆及用户校验
/**
*
*/
package com.zc.mybatis.controller; import java.util.Date; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody; import com.zc.mybatis.domain.User;
import com.zc.mybatis.service.UserService; /**
* @author zhangchao
*
*/
@Controller
public class LoginController {
//登陆页面
@RequestMapping(value = "/")
public Object hello() {
return "index";
} @Autowired
private UserService userService;
//增加测试用户
@RequestMapping(value="/user/add")
@ResponseBody
public Object addUsers() {
User user = new User();
for(int i = 1;i<6;i++) {
user.setName("用户"+i);
user.setPassword("123456");
user.setPhone("124514144411");
user.setAge(19);
user.setCreateTime(new Date());
userService.add(user);
}
return "新增测试用户";
}
//用户校验
@RequestMapping(value = "/user/login")
@ResponseBody
public Object login(HttpServletRequest request) {
String username = request.getParameter("username");
String password = request.getParameter("password");
password = password.trim();
User user = userService.getUserByName(username);
if (null != user && password.equals(user.getPassword())) {
return "登陆成功";
} else {
return "登陆失败";
}
}
}
7、先运行localhost:8080/user/add来新增测试用户,然后通过localhost:8080访问登陆页面,输入用户名:用户1,密码:123456,页面返回 登陆成功。
springboot 学习笔记(五)的更多相关文章
- SpringBoot学习笔记五之管理员后台维护
注:图片如果损坏,点击文章链接:https://www.toutiao.com/i6803544440112677379/ 首先完成分页 引入PageHelper(之前已经添加过了) 在spring- ...
- Springboot学习笔记(六)-配置化注入
前言 前面写过一个Springboot学习笔记(一)-线程池的简化及使用,发现有个缺陷,打个比方,我这个线程池写在一个公用服务中,各项参数都定死了,现在有两个服务要调用它,一个服务的线程数通常很多,而 ...
- SpringBoot学习笔记(十一:使用MongoDB存储文件 )
@ 目录 一.MongoDB存储文件 1.MongoDB存储小文件 2.MongoDB存储大文件 2.1.GridFS存储原理 2.2.GridFS使用 2.2.1.使用shell命令 2.2.2.使 ...
- C#可扩展编程之MEF学习笔记(五):MEF高级进阶
好久没有写博客了,今天抽空继续写MEF系列的文章.有园友提出这种系列的文章要做个目录,看起来方便,所以就抽空做了一个,放到每篇文章的最后. 前面四篇讲了MEF的基础知识,学完了前四篇,MEF中比较常用 ...
- (转)Qt Model/View 学习笔记 (五)——View 类
Qt Model/View 学习笔记 (五) View 类 概念 在model/view架构中,view从model中获得数据项然后显示给用户.数据显示的方式不必与model提供的表示方式相同,可以与 ...
- java之jvm学习笔记五(实践写自己的类装载器)
java之jvm学习笔记五(实践写自己的类装载器) 课程源码:http://download.csdn.net/detail/yfqnihao/4866501 前面第三和第四节我们一直在强调一句话,类 ...
- SpringBoot学习笔记
SpringBoot个人感觉比SpringMVC还要好用的一个框架,很多注解配置可以非常灵活的在代码中运用起来: springBoot学习笔记: .一.aop: 新建一个类HttpAspect,类上添 ...
- Learning ROS for Robotics Programming Second Edition学习笔记(五) indigo computer vision
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
- Typescript 学习笔记五:类
中文网:https://www.tslang.cn/ 官网:http://www.typescriptlang.org/ 目录: Typescript 学习笔记一:介绍.安装.编译 Typescrip ...
- ES6学习笔记<五> Module的操作——import、export、as
import export 这两个家伙对应的就是es6自己的 module功能. 我们之前写的Javascript一直都没有模块化的体系,无法将一个庞大的js工程拆分成一个个功能相对独立但相互依赖的小 ...
随机推荐
- Linux性能测试工具-UnixBench--安装以及结果分析
参考链接:http://blog.csdn.net/gatieme/article/details/50912910 依赖包安装: yum install -y SDL-devel mesa ...
- 项目一:第五天 1、区域数据(pinyin4j-简码,城市编码) 2、Web层代码重构(model对象,分页代码提取) 3、区域分页查询 3、分区添加功能 4、定区管理管理-添加,分页
Service: /** * @Description: 1.保存定区 2.让分区关联定区 * 对象三种状态 1.持久态(被session管理对象-一级缓存中有对象) 2.托管态(有OID标识,数据 ...
- xgene:疾病相关基因,耳聋,彩色,老年痴呆,帕金森
神经元的传递:一个下游神经元,它接受其上游神经元的各个突触传过来的信号,然而,每个突触对该下游神经元的激活权重是不同的. 从神经网络的本质上说,当人连续.多次遭受失败的时候,大脑内就会释放大量的抑制性 ...
- 15、Linux 文件属性和测试( chgrp,chown,chmod和-e -f -d -s
一.更改文件属性 1.chgrp:更改文件属组 语法: chgrp [-R] 属组名文件名 参数选项 -R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件 ...
- hive2.1.1安装部署
转至:https://i.cnblogs.com/EditPosts.aspx?opt=1 一.Hive 运行模式 与 Hadoop 类似,Hive 也有 3 种运行模式: 1. 内嵌模式 将元数据保 ...
- 阶段2-新手上路\项目-移动物体监控系统\Sprint2-摄像头子系统开发\第2节-V4L2图像编程接口深度学习
参考资料: http://www.cnblogs.com/emouse/archive/2013/03/04/2943243.htmlhttp://blog.csdn.net/eastmoon5021 ...
- 【转】Eclipse 插件 —— RunJettyRun 的安装与使用
http://www.th7.cn/Program/java/201309/148299.shtml 关于 Jetty 与 Eclipse 的集成,网上很多都是使用 Eclipse ...
- win7 系统安装 docker
如果顺利的话,步骤如下: 1.下载DockerToolbox 2.安装DockerToolbox,默认配置,一路下一步即可完成安装 3.安装成功后,桌面会新增三个快捷方式,如下图 4.点击运行Dock ...
- Django 之 logging
1. logging 1.1 什么是 logging logging 模块是 Python 内置的日志管理模块,不需要额外安装. 使用: import logging logging.critical ...
- 给 asp.net core 写一个简单的健康检查
给 asp.net core 写一个简单的健康检查 Intro 健康检查可以帮助我们知道应用的当前状态是不是处于良好状态,现在无论是 docker 还是 k8s 还是现在大多数的服务注册发现大多都提供 ...