🍖三层开发思维的模拟实现 day13
🌭提示:这里直接使用java代码进行编码描述实现大致逻辑,思维导图如下:
- 🍚 UserController.java:控制层
- 🍚 UserService:逻辑层
- 🍚 UserMapper:数据层
- 🍚 User用户类
- 🍚 Secret工具类
以下是文件的编写顺序,即编写思路
🍖一、控制层编写⭐
UserController.java:获取用户账号和密码
public class UserController {
//假设通过方法Verify获取浏览器上用户输入的账户和密码
public String Verify(User user){
//假设用户直接输入如下内容 ,这里要写一个User.java用户类
user.setUserName("123456");//这里是假设账号
user.setUserPassword("123456");//这里是假设的用户输入的密码
//获取用户账号密码以及(盐=加密)
UserService userservice=new UserService();
//调用业务逻辑层,将获取的账号和密码传给逻辑层
String result= userservice.Verify(user.getUserName(),user.getUserPassword());
System.out.println(result);//打印反馈的结果
return result;//将结果反馈到前端
}
public static void main(String[] args) {
UserController uc=new UserController();
uc.Verify(new User());//启动程序
}
}
为了方便我们封装一个用户类:
🍖二、User用户类
里面封装了用的id,userName,userPassword等属性,方便我们的调用
public class User {
public int id;
public String userName;//账号
public String userPassword;//密码
public String salt;//加密
//以下是生成的getter()和setter()方法
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPassword() {
return userPassword;
}
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
public String getSalt() {
return salt;
}
public void setSalt(String salt) {
this.salt = salt;
}
}
🍖三、逻辑层的编写⭐
对得到的账号,密码进行判断处理并对密码加密
public class UserService {
public String Verify(String name,String password){
//简单的逻辑判断账号和密码是否为空
if(name==null ||name.trim().equals("")){
return "用户名不能为空";//返回提示
}
if(password==null ||password.trim().equals("")){
return "密码不能为空";//返回提示
}
//进行加密
secret sc=new secret();
//这里需要创建一个产生随机四位验证码的工具类 secret.java
//这里直接加四位随机数进行加密
String secret=sc.secret(4);//随机产生4位随机验证码
password=password+secret;//与密码拼接假设是加密处理
//插入数据库
Mapper map=new Mapper();//调用数据层
int result=map.Verify(name,password,secret);//传入处理过的数据
//对result数据层返回的结果判断,1是注册成功,0是注册失败
if(result==1){
return "注册成功";
}else{
return "注册失败";
}
}
}
🍖四、工具类secret.java的编写(生成随机验证码)
public class secret {
public String secret(int length) {//length几位验证码
String s="";
Random R = new Random();//随机数对象
for (int i = 0; i < length; i++) {
if (i % 2 == 0) {//当为偶数位时产生随机数字0~9
//随机数字
int x = R.nextInt(10);
s=s+x;//验证码的拼接
} else {//否则随机字母a~z
//随机小写字母
char y = (char) (R.nextInt(27) + 97);
s=s+y;//验证码的拼接
}
}
return s;//返回验证码
}
🍖五、数据层编写⭐
public class Mapper {
public int Verify(String name,String password,String secret){
//这里打印处理过的数据,假设作为成功插入数据库
System.out.println("name = " + name);
System.out.println("password = " + password);
System.out.println("secret = " + secret);
return 1;//并返回值1,表示插入成功
}
}
见证结果:~~~
假设用户输入空密码
🍜以上便是三层开发的大体思维路线,🍚控制层的编写(封装用户类)~~~🍚逻辑层的编写(封装工具类)~~~🍚数据层的编写,再由数据层返回最终结果,这里只是使用Java代码实现了三层开发逻辑,将大概的逻辑用代码实现出来,完结撒花!