項目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.pswp.cn/diannao/13886.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/13886.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/13886.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

鄉村振興與農村社會治理現代化:加強農村社會治理體系和治理能力現代化建設,提升鄉村治理效能,為美麗鄉村建設提供堅實保障

一、引言 在全面推進鄉村振興的偉大實踐中&#xff0c;農村社會治理現代化是不可或缺的重要一環。隨著時代的發展&#xff0c;傳統的農村社會治理方式已經無法滿足現代社會發展的需求。因此&#xff0c;加強農村社會治理體系和治理能力現代化建設&#xff0c;提升鄉村治理效能…

2024年電工杯數學建模競賽思路資料匯總貼

下文包含&#xff1a;2024電工杯&#xff08;電工杯數學建模競賽&#xff09;思路解析、電工杯參賽時間及規則信息說明、好用的數模技巧及如何備戰數學建模競賽 C君將會第一時間發布選題建議、所有題目的思路解析、相關代碼、參考文獻、參考論文等多項資料&#xff0c;幫助大家…

深度學習(文章鏈接匯總)

神經網絡與深度學習-簡要入門 動手學深度學習-pytorch版本&#xff08;一&#xff09;&#xff1a;引言 & 預備知識 動手學深度學習-pytorch版本&#xff08;二&#xff09;&#xff1a;線性神經網絡 YOLOv8 學習與環境配置

XSS漏洞

漏洞描述 XSS全名叫Cross Site Scripting(跨站腳本攻擊)因為簡寫和css同名所以改名為XSS&#xff0c;該漏洞主要利用javascript可以控制html&#xff0c;css&#xff0c;瀏覽器的行為從而惡意利用&#xff0c;當開發人員未對輸入的內容進行過濾或編碼時&#xff0c;惡意用戶在…

蒼穹外賣①

1.BeanUtils.copyProperties(orders,orderVO); BeanUtils.copyProperties 是 Java 中 Apache Commons BeanUtils 庫的一個方法&#xff0c;它用于將一個 Java Bean 的屬性復制到另一個 Java Bean。這個方法非常適合于對象之間的屬性復制&#xff0c;尤其是當源對象和目標對象的…

云服務器上部署Kubernetes集群(K8S)

master節點&#xff1a;master node節點&#xff1a;node1 由于是ubuntu系統&#xff0c;參考兩個博客配置 安裝vmware搭建k8s集群&#xff08;親試無坑&#xff09;-CSDN博客 該博客是centos系統&#xff0c;所以稍微有點區別結合另一篇博客一起參考 kubernetes集群…

scrapy進階(豆瓣新書速遞)(比亞迪)

scrapy數據建模與請求 學習目標&#xff1a; 應用 在scrapy項目中進行建模應用 構造Request對象&#xff0c;并發送請求應用 利用meta參數在不同的解析函數中傳遞數據scrapy構造post請求 1. 數據建模 通常在做項目的過程中&#xff0c;在items.py中進行數據建模 1.1 為什么建…

gt.qpa.xcb: could not connect to display : 1

報錯解釋&#xff1a; 這個錯誤通常發生在使用X11&#xff08;X Window System&#xff09;的Linux環境中&#xff0c;當嘗試啟動一個基于Qt平臺的應用程序時。錯誤信息表明程序無法連接到X服務器顯示設備&#xff0c;原因可能是沒有正確設置DISPLAY環境變量&#xff0c;或者用…

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

&#x1f338;&#x1f338; pig token令牌解析器過程 &#x1f338;&#x1f338; pig后端源碼 一、解析請求中的令牌值。 二、驗證令牌 內省并驗證給定的令牌&#xff0c;返回其屬性。返回映射表示令牌有效。 /*** author lengleng* date 2019/2/1 擴展用戶信息*/ publi…

Hot100-棧

20. 有效的括號 - 力扣&#xff08;LeetCode&#xff09; class Solution {public boolean isValid(String s) {//用map的鍵值對匹配左右括號//按照順序&#xff0c;先匹配的是左括號&#xff0c;所以棧里面放左括號HashMap<Character, Character> rlationship new Has…

deepinlinuxv23b3用lazarus3.2開發生成2維碼

下載&#xff1a; https://sourceforge.net/projects/lazarus/files/ 最新版3.2.2的fpc,3.2的lazarus sourceforge默認下載慢&#xff0c;選擇auto-select能夠選擇近的鏡像站點&#xff0c;還不行的話也能夠motrix下載會自動更換域名 linux的qrencode安裝是 sudo apt…

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

提到跨境電商平臺&#xff0c;大家都知道亞馬遜、Temu、TikTok shop這些是比較大的電商平臺。但最近幾年&#xff0c;在東南亞市場上&#xff0c;Shopee蝦皮卻是頗負盛名的一個跨境電商平臺&#xff0c;這也讓眾多中國跨境小白蜂擁而至。目前shopee的商家正在不斷增多&#xff…

[力扣題解] 130. 被圍繞的區域

題目&#xff1a;130. 被圍繞的區域 思路 代碼 Method 1 : 深度優先搜索&#xff0c;自己寫的 class Solution { private:int dir[4][2] {{1, 0}, {-1, 0}, {0, 1}, {0, -1}};void dfs(vector<vector<char>>& board, vector<vector<bool>>&am…

vue3第三十四節(TS 之 interface 與 type 的異同)

1、interface 接口只能定義描述對象類型 如&#xff1a; interface PersonIn {name: string;age:number;job:string; }// 定義函數 interface FPerson {(a: number, b:string) > void }2、類型別名 type則可以定義多種類型 如&#xff1a; type userName string type…

DeepDriving | CUDA編程-02: 初識CUDA編程

本文來源公眾號“DeepDriving”&#xff0c;僅用于學術分享&#xff0c;侵權刪&#xff0c;干貨滿滿。 原文鏈接&#xff1a;CUDA編程-02&#xff1a; 初識CUDA編程 上一篇文章DeepDriving | CUDA編程-01&#xff1a; 搭建CUDA編程環境-CSDN博客介紹了如何搭建CUDA編程環境&a…

選擇、快排、堆排序、歸并

選擇排序 排序的核心是&#xff1a;在未排序的序列中&#xff0c;把未排序第一個元素和未排序的最小元素交換位置。 因此&#xff0c;設計時&#xff0c;顯然要設置兩重 for 循環 假設未排序的第一個元素稱為 a &#xff0c; 未排序的最小元素稱為 b 第一重 for 循環控制總…

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;、模型…