用户登录

1.代码

1.1后端

java 复制代码
package com.bite.springmvc;

import ch.qos.logback.core.util.StringUtil;
import jakarta.servlet.http.HttpSession;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RequestMapping("/user")
@RestController
public class UserController {
@RequestMapping("/login")
    public boolean login(String userName, String password, HttpSession session){
    if (!StringUtils.hasLength(userName) || !StringUtils.hasLength(password)){
        return false;
    }
    //校验账号和密码
    //当前还未学习数据库的操作,先写死
    if ("zhangsan".equals(userName) && "123456".equals(password)){
        //存储Session
        session.setAttribute("userName", userName);
        return true;
    }
    return false;
    }

    @RequestMapping("/getUserInfo")
    public String getUserInfo(HttpSession session){
    String userName = (String) session.getAttribute("userName");
    return userName==null?"":userName;
    }
}

1.2前端

login

html 复制代码
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>登录页面</title>
</head>

<body>
  <h1>用户登录</h1>
  用户名:<input name="userName" type="text" id="userName"><br>
  密码:<input name="password" type="password" id="password"><br>
  <input type="button" value="登录" onclick="login()">
  
  <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
  <script>
    function login() {
    $.ajax({
      url:"/user/login",
      type:"post",
      data:{
        "userName":$("#userName").val(),
        "password":$("#password").val()
      },
      success:function(result){
        //返回结果为true,页面跳转
        if(result){
          location.href = "index.html";
        }else{
          //密码错误
          alert("密码错误")
        }
      }
    });
    }

  </script>
</body>

</html>

index

java 复制代码
<!doctype html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport"
        content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>用户登录首页</title>
</head>

<body>
    登录人: <span id="loginUser"></span>

    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
    <script>
        $.ajax({
            url:"/user/getUserInfo",
            type:"get",
            success:function(result){
                //把result放在loginUser这个spn下面
                $("#loginUser").text(result);
            }
        });
    </script>
</body>

</html>

2.测试

密码错误时:

登录成功时

相关推荐
ะัี潪ิื29 分钟前
springboot加载本地application.yml和加载Consul中的application.yml配置反序列化LocalDate类型差异
spring boot·consul·java-consul
m0_740043731 小时前
SpringBoot05-配置文件-热加载/日志框架slf4j/接口文档工具Swagger/Knife4j
java·spring boot·后端·log4j
招风的黑耳3 小时前
我用SpringBoot撸了一个智慧水务监控平台
java·spring boot·后端
大佐不会说日语~3 小时前
Spring AI Alibaba 的 ChatClient 工具注册与 Function Calling 实践
人工智能·spring boot·python·spring·封装·spring ai
Miss_Chenzr3 小时前
Springboot优卖电商系统s7zmj(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
程序员游老板3 小时前
基于SpringBoot3+vue3的爱心陪诊平台
java·spring boot·毕业设计·软件工程·课程设计·信息与通信
期待のcode3 小时前
Springboot核心构建插件
java·spring boot·后端
Miss_Chenzr3 小时前
Springboot旅游景区管理系统9fu3n(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·旅游
五阿哥永琪4 小时前
Spring Boot 中自定义线程池的正确使用姿势:定义、注入与最佳实践
spring boot·后端·python
canonical_entropy5 小时前
Nop入门:增加DSL模型解析器
spring boot·后端·架构