springboot 学习笔记(五)
程序员文章站
2022-10-19 17:00:57
(五)springboot整合thymeleaf模板,实现简单的登陆 1、修改上一节笔记中的user表,新增一个password字段,同时要求username为UNIQUE,以实现登陆校验,表结构如下。 2、新增一个通过name查询user的方法,具体代码就不写了 3、pom文件中增加thymele ......
(五)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,页面返回 登陆成功。