用户登录

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.测试

密码错误时:

登录成功时

相关推荐
武子康9 分钟前
Java-219 RocketMQ Spring Boot 集成指南:生产者与消费者实战
java·spring boot·分布式·kafka·消息队列·rocketmq·java-rocketmq
想学习java初学者1 小时前
SpringBoot整合GS1编码解码
java·spring boot·后端
i220818 Faiz Ul2 小时前
智慧养老平台|基于SprinBoot+vue的智慧养老平台系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·毕设·智慧养老平台
Flittly3 小时前
【日常小问】Spring Cloud Gateway 5.x 跨域和路由配置踩坑实录
java·spring boot·spring cloud
斯特凡今天也很帅3 小时前
新建数据源报错No bean named ‘SqlSessionFactorykf‘ available
java·数据库·spring boot·mybatis
小钻风33664 小时前
Spring Boot WebSocket 两种集成方式深度解析
spring boot·后端·websocket
SuniaWang4 小时前
AgentX 专栏-00前言:一个Java开发者的Agent实践之路
java·人工智能·spring boot·langchain·系统架构
逍遥德4 小时前
Java编程高频的“踩坑点”-01:fastjson.JSON 转换时泛型擦除问题
java·spring boot·spring·系统架构·json
闪电悠米5 小时前
黑马点评短信登录01_session_sms_login
java·spring boot·redis·git·spring·面试