个⼈博客-1(登录功能模块实现)前⾔
⽤到的技术
springboot
thymeleaf
lombok
ajax
kaptcha(验证码功能)
AdminLTE3 模板整合
新建⼀个springboot项⽬
添加web启动器和thymeleaf启动器及lombok
后续需要其他功能了再添加对应的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>web端登录
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
整合AdminLTE3 模板
整合过程其实是我们把 AdminLTE3 代码压缩包中我们需要的样式⽂件、js ⽂件、图⽚等静态资源放⼊我们 Spring Boot 项⽬的静态资源⽬录下,⽐如 static ⽬录或者其他我们设置的静态资源⽬录,⼏个重要的⽂件我们都在下图中⽤红线进⾏标注了,⽬录如下:
后台管理模块
登录功能模块
数据库和表设计
注意点
插⼊数据的时候就使⽤md5加密,密码字段要设计的⼤点
-- 新建⼀个数据库
CREATE DATABASE`rm_blog`;
USE`rm_blog`;
-- 新建⼀个adminUser表
DROP TABLE IF EXISTS`admin_user`;
CREATE TABLE`admin_user`(
`id`INT(8)NOT NULL AUTO_INCREMENT COMMENT'⽤户id',
`user_name`VARCHAR(20)NOT NULL COMMENT'⽤户姓名',
`password`VARCHAR(50)NOT NULL COMMENT'⽤户密码',-- 使⽤md5加密,该字段要设计的长点`nick_name`VARCHAR(20)COMMENT'显⽰在浏览器界⾯的⽤户名',
`locked`TINYINT(4)DEFAULT'0'COMMENT'该⽤户是否锁定,0未锁',
PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8;
INSERT INTO`admin_user`VALUES(1,'rm',MD5('123456'),'初夏那⽚海',0);
实体类
根据数据库创建对应的实体类
实际项⽬可以看情况是否使⽤lombok插件
使⽤基本类型包装类创建属性
import lombok.Data;
@Data
public class AdminUser {
//使⽤基本类型包装类
private Integer id;
private String userName;
private String password;
private String nickName;
private Byte locked;
}
application.yaml
开启驼峰命名
mybatis:
configuration:
map-underscore-to-camel-case:true #开启驼峰命名
dao层
导⼊mybatis-springboot依赖
声明mapper,配置mybatis
<dependency>
<groupId&batis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
</dependency>
AdminUserMapper
@Mapper//表明是⼀个Mapper,也可以通过扫描包的⽅式实现
@Repository//注⼊spring容器
public interface AdminUserMapper {
//根据⽤户名和密码进⾏登录 @Param后⾯的值是从前端页⾯接收的值
AdminUser login(@Param("userName") String userName,@Param("password") String password); }
密码使⽤md5加密处理
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-////DTD Mapper 3.0//EN"
"/dtd/mybatis-3-mapper.dtd">
<mapper namespace="dao.AdminUserMapper">
<select id="login"resultType="adminUser">
select * from admin_user where user_name=#{userName} and password=md5(#{password}); </select>
</mapper>
application.yaml
开启别名
开启mapper路径映射
mybatis:
type-aliases-package: pojo #别名扫描包
mapper-locations: /mapper/*.xml
sercice层
调⽤dao层
AdminUserService
@Service
public interface AdminUserService {
AdminUser login(@Param("userName") String userName,@Param("password") String password); }
AdminUserServiceImpl
@Service
public class AdminUserServiceImpl implements AdminUserService {
@Autowired
private AdminUserMapper adminUserMapper;
@Override
public AdminUser login(String userName, String password){
return adminUserMapper.login(userName,password);
}
}
验证码功能
验证码配置
配置验证码颜⾊,字体,长度等属性
KaptchaConfig
fig;
le.code.kaptcha.impl.DefaultKaptcha;
le.code.kaptcha.util.Config;
import t.annotation.Bean;
import t.annotation.Configuration;
import java.util.Properties;
//验证码配置类
@Configuration
public class KaptchaConfig {
@Bean
public DefaultKaptcha getDefaultKaptcha(){
DefaultKaptcha defaultKaptcha =new DefaultKaptcha();
Properties properties =new Properties();
// 图⽚边框
properties.put("kaptcha.border","no");
// 字体颜⾊
properties.put("lor","blue");
// 图⽚宽
properties.put("kaptcha.image.width","160");
// 图⽚⾼
properties.put("kaptcha.image.height","40");
// 字体⼤⼩
properties.put("producer.font.size","30");
// 验证码长度
properties.put("producer.char.length","4");
// 字体
properties.setProperty("producer.font.names","宋体,微软雅⿊"); Config config =new Config(properties);
defaultKaptcha.setConfig(config);
return defaultKaptcha;
}
}
验证码⽣成
⽣成验证码并保存到session中
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论