项目9-网页聊天室2(登录)

0.前端知识储备 

Ajax请求中的async:false/true的作用 - front-gl - 博客园 (cnblogs.com)

01.前端页面展示 

02.后端代码

2.1 CONTROLLER

@RequestMapping("/login")public Result login(String username, String password, HttpSession httpSession){User user= userMapper.selectByUsername(username);if(!StringUtils.hasLength(username)||!StringUtils.hasLength(password)){return Result.fail(Constant.PASSWORD_OR_NULL,"密码或账号为空");}else if(user==null){return Result.fail(Constant.MESSAGE_NULL,"用户信息为空");}else if(!bCryptPasswordEncoder.matches(password,user.getPassword())){return Result.fail(Constant.PASSWORD_WRONG,"账号或密码错误");}user.setPassword("");httpSession.setAttribute(Constant.USERINFO_SESSION_KEY,user);return Result.success(user);}

2.2 后端测试

成功!!!

03.前端代码

3.1 login.html

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>登录界面</title><link rel="stylesheet" href="css/common.css"><link rel="stylesheet" href="css/login.css"></head><body><!-- 导航栏 --><div class="nav">网页聊天</div><div class="container"><h1>用户登录</h1><form><br><label for="username">用户名</label><br><input type="text" name="username" id="username" class="input"><br><label for="pwd">密码</label><br><input type="password" name="" id="password" class="input"><button type="submit" class="submit" id="submit" onclick="login()">开始登录</button><br><a href="client.html" class="left">返回首页</a><a href="register.html" class="right">注册账号</a></form></div><script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script><script type="text/javascript" src="js/login.js"></script></body>
</html>

3.2 login.js

function login(){$.ajax({type: "get",url: "/user/login",contentType: "application/json",dataType: "json",async: false,cache: false,// 使用同步操作timeout: 50000, //超时时间:50秒data: {"username": $("#username").val(),"password": $("#password").val()},success: function(result){if(result!=null&&result.status==200){alert("登陆成功!开始进行聊天吧")location.href="client.html"}else if(result!=null&&result.status==-12){alert("密码或账号为空")}else if(result!=null&&result.status==-14){alert("用户信息为空,请进行注册哦")}else if(result!=null&&result.status==-16){alert("账号或密码错误")}else{alert("出现内部错误,请联系管理员!")}},error: function () {alert("接口错误");       // 返回失败}});}

3.3 login.css

body{background: url("../img/coolgirl.jpg");background-size:100% 100%;background-attachment: fixed;
}
h1{color: #FFF;text-align: center;
}
.container{margin: 100px auto;width: 30%;
}
form{background: #FFF;height: 300px;width: 100%;border-radius: 10px;position: relative;
}
label{color: #000;font-weight: bold;font-size: 20px;margin-left: 40px;
}
input{text-align: left;margin: 10px;
}
.input{width: 80%;height: 35px;margin-left: 40px;
}
.checkbox{margin-left: 30px;
}
a{text-decoration: none;font-weight: bold;
}
.submit{display: inline-block;margin-top: 0;margin-left:160px;background: black;border: none;color: #FFF;height: 35px;width: 100px;text-align: center;font-weight: bold;border-radius: 5px;
}
.submit:active {background-color: #666;
}
.left{margin: 20px;
}
.right{position: absolute;right: 20px;
}

3.4 前端测试

但是有一个问题,无法实现跳转

最后发现是由于前端界面写的form表单导致的

我们在写前端时,尽量避免运用form表单

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/13886.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

乡村振兴与农村社会治理现代化:加强农村社会治理体系和治理能力现代化建设,提升乡村治理效能,为美丽乡村建设提供坚实保障

一、引言 在全面推进乡村振兴的伟大实践中&#xff0c;农村社会治理现代化是不可或缺的重要一环。随着时代的发展&#xff0c;传统的农村社会治理方式已经无法满足现代社会发展的需求。因此&#xff0c;加强农村社会治理体系和治理能力现代化建设&#xff0c;提升乡村治理效能…

2024年电工杯数学建模竞赛思路资料汇总贴

下文包含&#xff1a;2024电工杯&#xff08;电工杯数学建模竞赛&#xff09;思路解析、电工杯参赛时间及规则信息说明、好用的数模技巧及如何备战数学建模竞赛 C君将会第一时间发布选题建议、所有题目的思路解析、相关代码、参考文献、参考论文等多项资料&#xff0c;帮助大家…

XSS漏洞

漏洞描述 XSS全名叫Cross Site Scripting(跨站脚本攻击)因为简写和css同名所以改名为XSS&#xff0c;该漏洞主要利用javascript可以控制html&#xff0c;css&#xff0c;浏览器的行为从而恶意利用&#xff0c;当开发人员未对输入的内容进行过滤或编码时&#xff0c;恶意用户在…

【Spring security】【pig】Note03-pig token令牌解析器过程

&#x1f338;&#x1f338; pig token令牌解析器过程 &#x1f338;&#x1f338; pig后端源码 一、解析请求中的令牌值。 二、验证令牌 内省并验证给定的令牌&#xff0c;返回其属性。返回映射表示令牌有效。 /*** author lengleng* date 2019/2/1 扩展用户信息*/ publi…

跨境小白shopee被封号的原因?如何有效预防?

提到跨境电商平台&#xff0c;大家都知道亚马逊、Temu、TikTok shop这些是比较大的电商平台。但最近几年&#xff0c;在东南亚市场上&#xff0c;Shopee虾皮却是颇负盛名的一个跨境电商平台&#xff0c;这也让众多中国跨境小白蜂拥而至。目前shopee的商家正在不断增多&#xff…

DeepDriving | CUDA编程-02: 初识CUDA编程

本文来源公众号“DeepDriving”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;CUDA编程-02&#xff1a; 初识CUDA编程 上一篇文章DeepDriving | CUDA编程-01&#xff1a; 搭建CUDA编程环境-CSDN博客介绍了如何搭建CUDA编程环境&a…

web压力测试,要不要过滤掉JS,CSS等请求?

在进行性能测试&#xff08;压测&#xff09;时&#xff0c;是否过滤掉对JavaScript、CSS等静态资源的请求&#xff0c;取决于你测试的目标和目的。 是测试服务端的性能还是前端的性能。这两种目的所涉及到的测试场景和工具等方法是不一样的。 一般的web产品&#xff0c;像cs…

java 8--Lambda表达式,Stream流

目录 Lambda表达式 Lambda表达式的由来 Lambda表达式简介 Lambda表达式的结构 Stream流 什么是Stream流&#xff1f; 什么是流呢&#xff1f; Stream流操作 中间操作 终端操作 Lambda表达式 Lambda表达式的由来 Java是面向对象语言&#xff0c;除了部分简单数据类型…

利用kubeadm安装k8s集群 以及跟harbor私有仓库下载镜像

目录 环境准备 master&#xff08;2C/4G&#xff09; 192.168.88.3 docker、kubeadm、kubelet、kubectl、flannel node01&#xff08;2C/2G&#xff09; 192.168.88.4 docker、kubeadm、kubelet、kubectl、flannel node02&#xff08;…

2024中青杯数学建模竞赛B题药物属性预测思路代码论文分享

2024年中青杯数学建模竞赛B题论文和代码已完成&#xff0c;代码为B题全部问题的代码&#xff0c;论文包括摘要、问题重述、问题分析、模型假设、符号说明、模型的建立和求解&#xff08;问题1模型的建立和求解、问题2模型的建立和求解、问题3模型的建立和求解&#xff09;、模型…

QT调用Tinyxml2库解析XML结构文件

在学习SVG结构的时候&#xff0c;发现SVG结构可以通过以XML文件直接解析&#xff0c;所以就去了解了Tinyxml2库的使用&#xff0c;相关教程也比较多。 个人感觉Tinyxml2库比官方的XML解析库更好用&#xff0c;这里做个技术总结&#xff0c;记录Tinyxml2库解析XML文件结构的简单…

【Linux取经路】一个简单的日志模块

文章目录 一、可变参数的使用二、Log2.1 日志打印2.1.1 时间获取2.1.2 日志分块打印 2.2 打印模式选择2.3 Log 使用样例2.4 Log 完整源码 三、结语 一、可变参数的使用 int sum(int n, ...) {va_list s; // va_list 本质上就是一个指针va_start(s, n); int sum 0;while(n){su…

计算机毕业设计 | node.js(Express)+vue影院售票商城 电影放映购物系统(附源码+论文)

1&#xff0c;绪论 1.1 项目背景 最近几年&#xff0c;我国影院企业发展迅猛&#xff0c;各大电影院不断建设新的院线&#xff0c;每年新投入使用的荧幕数目逐年显著上升。这离不开人们的观影需求及对观影的过程要求的不断进步。广大观影消费者需要知道自己的空闲时间&#x…

Django中使用Celery(通用方案、官方方案)

Django中使用Celery&#xff08;通用方案、官方方案&#xff09; 目录 Django中使用Celery&#xff08;通用方案、官方方案&#xff09;通用方案场景前置准备完整代码 Celery官方方案【1】注册celery配置【2】创建celery文件【3】init注册【4】添加任务【5】启动worker异步任务…

设计模式六大原则之依赖倒置原则

文章目录 概念逻辑关系 小结 概念 依赖倒置原则指在设计代码架构时&#xff0c;高层模块不应该依赖底层模块&#xff0c;二者都应该依赖抽象。抽象不应该依赖于细节&#xff0c;细节应该依赖于抽象。 逻辑关系 如上图所示&#xff0c;逻辑应该就是这样&#xff0c;高层依赖于…

解决Wordpress中Cravatar头像无法访问问题

一、什么是Cravatar Gravatar是WordPress母公司Automattic推出的一个公共头像服务&#xff0c;也是WordPress默认的头像服务。但因为长城防火墙的存在&#xff0c;Gravatar在中国时不时就会被墙一下&#xff0c;比如本次从2021年2月一直到8月都是不可访问状态。 在以往的时候&…

R语言:单细胞pcoa降维和去批次

#生成随机颜色 > randomColor <- function() { paste0("#",paste0(sample(c(0:9, letters[1:6]), 6, replace TRUE),collapse "")) } # 生成100个随机颜色 > randomColors <- replicate(100,randomColor()) > seuratreadRDS("seu…

前端javascript包管理,npm升级用pnpm

一 pnpm 介绍 pnpm&#xff08;Package Manager&#xff09;是一个快速、节省磁盘空间的 JavaScript 包管理器&#xff0c;它是 Node.js 生态系统中 npm 的一个替代品。pnpm 解决了传统包管理工具在处理依赖时的一些痛点&#xff0c;特别是关于存储空间使用和依赖地狱的问题。…

如何将Google Search Console添加到WordPress和GA4

您想知道如何将 Google Search Console 添加到您的 Google Analytics 帐户和 WordPress 网站吗&#xff1f; 作为网站主&#xff0c;Google Search Console 是一款不能不使用的工具。对于任何想要确保其网站在 Google 搜索结果中表现良好的人来说&#xff0c;这绝对是一个必不…

leetCode-hot100-数组专题之区间问题

数组专题之区间问题 知识点&#xff1a;解决思路&#xff1a;例题56.合并区间57.插入区间253.会议室 Ⅱ485.无重叠区间 数组区间问题是算法中常见的一类问题&#xff0c;它们通常涉及对数组中的区间进行排序、合并、插入或删除操作。无论是合并区间、插入区间还是删除重复空间&…