14-shiro连接数据库完成基于MD5+Salt的注册功能
(1)编写注册页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<!--公共资源-->
<h1>用户注册</h1>
<form action="${pageContext.request.contextPath}/user/register" method="post">
用户名:<input type="text" name="username"> <br>
密码:<input type="password" name="password"> <br>
<input type="submit" value="立即注册"> <br>
</form>
</body>
</html>
(2)设置不受限资源

要把访问register.jsp登录页面也设置为不受限资源。为什么当时我们没有设置登录页面呢?因为shiro默认的认证页面就是我们的登录页面login.jsp
(3)创建数据库

(4)引入数据库的相关依赖
<!--mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<!--mysql-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<!--druid-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.2.6</version>
</dependency>
(4)在application.properties配置文件中编写数据库和mybatis相关配置

(5)编写我们的实体类

(6)开发我们的接口

(7)开发我们的mapper.xml文件

(8)开发我们的service接口

(9)编写一个可以生成随机盐的工具类
package com.study.springboot_jsp_shiro.utils;
import java.util.Random;
/**
* 生成盐的工具类
*/
public class SaltUtils {
/**
* 生成salt的静态方法
* @param n
* @return
*/
public static String getSalt(int n){
char []chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()".toCharArray();
StringBuilder sb = new StringBuilder();
for(int i = 0; i<n; i++){
char aChar = chars[new Random().nextInt(chars.length)];
sb.append(aChar);
}
return sb.toString();
}
}
(10)编写我们的service的实现类

(11)编写我们的controller

(12)进行测试

浙公网安备 33010602011771号