JAVA基础练习(四):SpringBoot 实现简易登录功能

前言

课堂任务:搭建 SpringBoot 项目,使用 Controller、Service 分层,实现登录校验。在浏览器地址栏传入用户名、密码,固定账号张三,密码123,页面返回登录成功 / 失败。

项目:lianxi4,包路径com.example.lianxi4

1. 项目环境

IDEA 创建 SpringBoot 项目,勾选依赖Spring Web,项目名称lianxi4。 检查 pom.xml,确认 web 依赖存在:

复制代码
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

2. 新建 Service 接口 LoginInter

右键包com.example.lianxi4 → New → Java Class,Interface,名字LoginInter

复制代码
package com.example.lianxi4;

public interface LoginInter {
    boolean checkUser(String name,String pwd);
}

3. 新建 Service 实现类 LoginImpl

右键包com.example.lianxi4 → New → Java Class,名字LoginImpl

复制代码
package com.example.lianxi4;

import org.springframework.stereotype.Service;

@Service
public class LoginImpl implements LoginInter{
    @Override
    public boolean checkUser(String name, String pwd) {
        //固定账号:张三,密码123
        return "张三".equals(name) && "123".equals(pwd);
    }
}

@Service注解:交给 Spring 容器管理,方便注入到 Controller。

4. 新建控制器 LoginController

右键包com.example.lianxi4 → New → Java Class,名字LoginController

复制代码
package com.example.lianxi4;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;

@RestController
public class LoginController {
    @Resource
    private LoginInter loginInter;

    @GetMapping("/login")
    public String login(
            @RequestParam String name,
            @RequestParam String pwd
    ){
        boolean ok = loginInter.checkUser(name,pwd);
        if(ok){
            return "登录成功";
        }else{
            return "登录失败";
        }
    }
}

@RestController:返回字符串文本;@GetMapping接收浏览器 GET 请求。

5. 主启动类 Lianxi4Application(项目自带)

复制代码
package com.example.lianxi4;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Lianxi4Application {
    public static void main(String[] args) {
        SpringApplication.run(Lianxi4Application.class, args);
    }
}

6. 启动与浏览器测试

  1. 右键Lianxi4Application启动项目,看到启动成功日志。
  2. 浏览器访问: ✅ 正确账号:http://localhost:8080/login?name=张三&pwd=123 页面输出:登录成功

❌ 错误账号:http://localhost:8080/login?name=李四&pwd=111 页面输出:登录失败

7. 项目结构展示

复制代码
src/main/java
└── com.example.lianxi4
    ├── Lianxi4Application.java  //主启动类
    ├── LoginInter.java           //service接口
    ├── LoginImpl.java            //service实现类
    └── LoginController.java      //控制器

8. 知识点小结

  1. SpringBoot 三层简单分层:Controller 接收请求,Service 处理业务逻辑
  2. @Resource完成依赖注入,将 Service 注入 Controller
  3. Get 请求直接在 url 地址栏传递参数,@RequestParam接收参数
相关推荐
学长毕设2 小时前
基于SpringBoot的实验室资产管理系统
java·spring boot·后端
zzu123zsw3 小时前
从臃肿的模板调用到声明式契约:深入 UniHttp 动态代理与多渠道生命周期扩展
java·spring boot·microsoft·unihttp
源码集结号4 小时前
云诊所门诊系统源码,基于SpringBoot+Vue.js架构,支持多租户设计与Docker容器化部署
java·spring boot·源码·医院信息系统·门诊系统·诊所系统
论文复现现场4 小时前
WRF、FEA 能用 L40S 加速吗?求解器检查、断点恢复与长期运行
java·数据库·算法·wrf·有限元分析·gpu计算·断点续算
啃瓜子的松鼠5 小时前
泛微OAe9-后端二开异步调用
java
秋天的怀念_David5 小时前
第二十一夜 · 数字黑洞与西西弗斯的惩罚
java·程序人生·算法
外收内放6 小时前
Python基础语法练习题(73)
java·前端·python
Wang's Blog6 小时前
Java 项目实战: 交友项目 - 环信后台发送消息测试
java·交友
用户3721574261356 小时前
Java 操作 Word 脚注和尾注:添加、读取与删除
java
小嘉丶学长6 小时前
Day14 · 字典与集合
java·开发语言·网络·python·学习·1024程序员节