JAVA---SpringBoot简单登录页面案例

SpringBoot简单登录页面案例



项目结构

在这里插入图片描述

mapper层 ,service层,controller层

controller是为前端提供的访问入口,不用关心具体的业务逻辑。具体的业务逻辑放在了serviceImpl里,controller只需调用它封装好的方法即可。

service提供业务逻辑要用到的方法,serviceImpl提供方法的具体实现。ServiceImpl负责了主要的功能编写,Controller提供了使用的入口。

mapper为serviceImpl提供操作数据的方法,但方法的具体实现(也就是SQL语句)放在了mapper下的xml文件里。

数据库

create table users
(
    userid int auto_increment primary key ,
    username varchar(20),
    password varchar(20),
    flat int comment '账号标识'
);

insert into users(username, password, flat)
values ('test1','test1',1),('test2','test2',1);

在这里插入图片描述

连接数据库配置

spring.datasource.name=sboot_demo

spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://192.168.95.130:3306/sboot_demo

mybatis.mapper-locations=classpath:/mapper/*.xml

User实体类

@Data
public class Users {
    private Integer id;
    private String username;
    private String password;
    private Integer flat;
}

mapper层

@Mapper
public interface UsersMapper {
    //根据用户名查询用户
    Users find(Users users);
}

service层

service接口

public interface IUsersService {
    //后台登录
    Users adminLogin(Users users);
}

service实现类

@Service
public class UsersServiceImpl implements IUsersService {

    //定义mapper数据库访问对象
    @Resource
    private UsersMapper usersMapper;

    @Override
    public Users adminLogin(Users users) {
        return usersMapper.find(users);
    }
}

controller层

@RequestMapping("/admin")
@Controller
public class AdminLoginController {

    //定义后台用户业务对象
    @Resource
    private IUsersService usersService;

    @RequestMapping("login_show")
    public String login_show(){
        return "/admin/login";
    }

    @RequestMapping("/login_submit")
    public String login_submit(Users users, HttpSession session,Model model){
        //根据用户名和密码进行登录校验
        Users u = usersService.adminLogin(users);

        //账号不存在
        if (u==null){
            model.addAttribute("err","用户名和密码不正确");
            return "/admin/login";
        }

        //将登录的账号对象存入session,用于会话跟踪管理
        session.setAttribute("adminUser",u);
        return "/admin/index";
    }
}

前端界面+css样式

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.com">
<head>
    <meta charset="UTF-8">
    <title>后台登录</title>
    <link rel="stylesheet" type="text/css" href="/css/admin.css"/>
</head>
<body>
<div class="frm">
    <div class="title">
        后台登录
    </div>
    <form action="/admin/login_submit" method="post">
        <table>
            <tr>
                <td>用户名</td>
                <td><input type="text" name="username" required="required"/></td>
            </tr>
            <tr>
                <td>密码</td>
                <td><input type="password" name="password" required="required"></td>
            </tr>
            <tr>
                <td></td>
                <td><input type="submit" value="登录"/>
                    <div th:text="${err}" style="color: red;"></div>
                </td>
            </tr>
        </table>
    </form>
</div>

</body>
</html>

.frm
{
    width: 300px;
    margin: 100px auto;
}

.frm .title
{
    height: 30px;
    background-color: #337ab7;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    text-align: center;
    line-height: 30px;
    color: #fff;
}

.frm form
{
    padding: 10px 0px;
    border: 1px solid #adadad;
}
.frm table{
    margin: 0px auto;
}
.frm table td
{
    padding: 5px;
}

运行

在这里插入图片描述

登录成功

在这里插入图片描述

登录失败

在这里插入图片描述

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值