JSP實現簡單的登錄和注冊

JSP實現登錄和注冊(Map集合模擬數據庫)

      • 1、login.jsp
      • 2、 loginSelect.jsp
      • 3、register.jsp
      • 4、 RegisterSelect.jsp
      • 5、 index.jsp

1、login.jsp

在這里插入圖片描述

  • login.jsp中usernamepassword在LoginSelect.jsp驗證是否一致
  • 使用session.setAttribute("login_msg","用戶名或密碼為空")設置login_msg的值
  • 使用session.getAttribute("login_msg")獲取對象的值,判斷輸入框是否為空,如果為空,則提示用戶名或密碼為空。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>登錄界面</title>
</head>
<body><div align="center"><h1>歡迎登錄</h1><form action="LoginSelect.jsp" method="post" id="form"><p>用戶名:&nbsp<input id="username" name="username" type="text">&nbsp&nbsp</p><p>密碼:&nbsp<input id="password" name="password" type="password"></p><input type="submit" class="button" value="登錄" onclick=""><button><a href="register.jsp">注冊</a></button></form><div id="errorMsg" value="null"><%=session.getAttribute("login_msg")%></div>
</div><script>if(document.getElementById("errorMsg").innerText==="null"||document.getElementById("errorMsg").innerText===""){document.getElementById("errorMsg").setAttribute('style',"display:none")} else {document.getElementById("errorMsg").setAttribute('style',"display:block")}
</script></body>
</html>

2、 loginSelect.jsp

  • 利用Map集合存儲賬戶和密碼信息,模擬數據庫
  • map.put("20201234","123456")設置初始數據
  • map.put(username,session.getAttribute(username).toString())這里是將注冊的賬戶和密碼添加到數據庫中,username為鍵,session.getAttribute(username).toString()為值,兩者都為字符串類型
<%@ page import="java.util.*" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>判斷登錄界面</title>
</head>
<body><%!Map<String,String> map = new HashMap<String,String>();public boolean compare(String username,String password){String pwd = map.get(username);if(pwd!=null&&password.equals(pwd)){return true;}else{return false;}}
%>
<%String username = request.getParameter("username");String password = request.getParameter("password");//設置初始值map.put("20201234","123456");//注冊后的值存入map集合if (session.getAttribute(username)!=null){map.put(username,session.getAttribute(username).toString());}System.out.println(map);//判斷輸入內容是否正確,給出提示信息if (username==null||username =="" || password==null || password==""){session.setAttribute("login_msg","用戶名或密碼為空");response.sendRedirect("login.jsp");return;}boolean compare = compare(username, password);if (compare){session.setAttribute("username",username);session.setAttribute("password",password);response.sendRedirect("index.jsp");}else {session.setAttribute("login_msg","用戶名或密碼錯誤或用戶名不存在");response.sendRedirect("login.jsp");}
%>
</body>
</html>

3、register.jsp

在這里插入圖片描述

  • register.jsp中usernamepassword在RegisterSelect.jsp驗證是否一致
  • 使用session.setAttribute("register_msg","用戶名或密碼為空")設置register_msg的值
  • 使用session.getAttribute("register_msg")獲取對象的值,判斷輸入框是否為空,如果為空,則提示用戶名或密碼為空。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>注冊界面</title>
</head><div align="center"><h1>歡迎注冊</h1><form action="RegisterSelect.jsp" method="post"><table><tr><td>用戶名</td><td><input name="username" type="text" id="username"><br></td></tr><tr><td>密碼</td><td><input name="password" type="password" id="password"><br></td></tr></table><input value="注 冊" type="submit" id="reg_btn"><br><span>已有帳號?</span> <a href="login.jsp">登錄</a></form><span id="register_msg" class="err_msg" ><%=session.getAttribute("register_msg")%></span></div>
</body>
</div>
<script>if(document.getElementById("register_msg").innerText==="null"||document.getElementById("register_msg").innerText===""){document.getElementById("register_msg").setAttribute('style',"display:none")} else {document.getElementById("register_msg").setAttribute('style',"display:block")}
</script>
</html>

4、 RegisterSelect.jsp

  • if else語句,if 判斷賬戶或密碼為空則提示"用戶或密碼為空"else 使用session.setAttribute(username,password) 創建對象存儲新的賬戶和密碼信息。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%String username = request.getParameter("username");String password = request.getParameter("password");session.setAttribute("register_msg","null");if (username==null||username =="" || password==null || password==""){session.setAttribute("register_msg","用戶名或密碼為空");response.sendRedirect("register.jsp");return;}else {session.setAttribute(username,password);response.sendRedirect("login.jsp");}
%>
<html>
<head><title>Title</title>
</head>
<body></body>
</html>

5、 index.jsp

在這里插入圖片描述

  • session.getAttribute("username")動態獲取賬戶名稱
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>登錄成功</title>
</head>
<body>
<div align="center"><h1>JSP管理系統</h1>
<h1><%=session.getAttribute("username")%> 歡迎您!</h1>
<a href="login.jsp">退出登錄</a>
</div>
</body>
</html>

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/43703.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/43703.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/43703.shtml

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

相關文章

RTOS系統 -- ARM Cortex-M4 RPMSG之通道初始化函數

RPMsg Lite 在 ARM Cortex-M4 RTOS 中的使用 簡介 在ARM Cortex-M4處理器上使用的RTOS&#xff08;實時操作系統&#xff09;中&#xff0c;rpmsg_lite是一個輕量級的遠程處理消息傳遞框架&#xff0c;通常用于多核處理器或多核系統中不同處理器之間的通信。本文檔將介紹 rpm…

ffmpeg轉換MP4為gif命令

這里記錄一下使用 ffmpeg去轉化 gif 的一些快捷命令 # 直接轉換 ffmpeg -i 222.mp4 -r 12 222.gif# 調色板優化處理 ffmpeg -i 222.mp4 -r 12 -vf "split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" 222.gif第二條命令的解釋如下&#xff1a; split[s0][s1]&am…

nginx設置代理解決跨域問題

vue工程 npm run build 后把dist包放到 nginx代理服務器的html目錄&#xff0c;在conf/nginx.conf配置文件中增加配置&#xff0c;這樣就可以正常方位后端接口了&#xff0c;配置如下&#xff1a; server {listen 8193;server_name localhost 127.0.0.1;location / {root D:…

【RHCE】dns實驗0707

題目&#xff1a; 做法: 1.創建兩個虛擬機 張三&#xff1a;且有加密 李四&#xff1a; 設置zhangsan/lisi對應的html網頁 主服務器測試&#xff1a; 證書驗證 2.配置dns 主服務器&#xff1a; 區域文件&#xff08;zs/lisi&#xff09; 從服務器&#xff1a; 且dns為主服務…

OZON生活家居用品爆款新品

OZON生活家居用品爆款新品涵蓋了多個方面&#xff0c;這些產品不僅滿足了消費者對生活品質的追求&#xff0c;也反映了當前市場的熱門趨勢。以下是一些在OZON平臺上備受關注的生活家居用品爆款新品&#xff1a; OZON生活家居用品爆款新品工具&#xff1a;D。DDqbt。COm/74rD T…

Midway Serverless 發布 2

可以看看優化后的開發情況&#xff0c;不僅和應用一樣&#xff0c;速度還比較快&#xff0c;也不會生成臨時目錄&#xff0c;修改實時生效。 這是 v2.0 和 v1.0 的根本性變化&#xff0c;也是整體架構升級帶來的巨大優勢。 當然&#xff0c;這一塊并不是功能的新增&#xff0c…

UI 自動化分布式測試 -- Docker Selenium Grid

UI 自動化分布式測試 – Docker Selenium Grid Docker 和 Selenium Grid 的結合為分布式 UI 自動化測試提供了一種高效、可擴展且易于管理的方法。通過使用 Docker 容器化技術&#xff0c;測試環境的設置和配置變得更加簡便和一致&#xff1b;而 Selenium Grid 則允許在多個節…

電腦清理c盤內存空間怎么清理免費 怎么清理c盤的垃圾文件又不刪除有用文件

在計算機使用過程中&#xff0c;隨著時間的推移&#xff0c;C盤空間可能會被各種臨時文件、緩存和無用的注冊表項占用。這不僅會導致C盤空間不足&#xff0c;還可能影響計算機的性能。那么怎么樣清理C盤內存空間&#xff0c;怎么樣清理C盤的垃圾避開系統文件呢&#xff1f; 一…

?? 翻頁 上一頁/下一頁

data里面定義 currentPage: 0 // 當前頁數 created 初始化時賦值 this.formProps 是表格 要求是對象 this.contractArr 是傳過來要進行分頁的數組對象 初始化顯示第一個created() {this.formProps this.contractArr[0]} html頁面 <div><div>// 左箭頭<s…

linux 進程堆棧分析

1.進程pid jsp -l | grep appName 或 ps -ef | grep appName 2.查看cpu top -c pidps -mp pid-o THREAD,tid,time / top -H -p pid #打印出進程對應的線程id及運行時間timeprintf %x\n 線程id3.查看gc jstat -gcutil | grep pid 500jstat -class pid4.查看進程日志 jsta…

數據分析案例-2024 年全電動汽車數據集可視化分析

&#x1f935;?♂? 個人主頁&#xff1a;艾派森的個人主頁 ?&#x1f3fb;作者簡介&#xff1a;Python學習者 &#x1f40b; 希望大家多多支持&#xff0c;我們一起進步&#xff01;&#x1f604; 如果文章對你有幫助的話&#xff0c; 歡迎評論 &#x1f4ac;點贊&#x1f4…

Navicat BI 教程 | 圖表設計和儀表板

商業智能&#xff08;Business Intelligence&#xff0c;BI&#xff09;是將數據轉化為可操作的洞察力的實踐&#xff0c;使組織能夠簡化生產力和實現更好的整體績效。本博客最近介紹了新的 Navicat BI&#xff0c;這是一個幫助 BI 專業人員通過創建數據可視化&#xff08;如圖…

侯捷C++面向對象高級編程(上)-11-虛函數與多態

1.虛函數 2.virtual 3.繼承&#xff0b;復合關系下的構造和析構 4.委托&#xff0b;繼承

Shell學習——Shell運算符

文章目錄 運算符算術運算符關系運算符布爾運算符邏輯運算符字符串運算符 運算符 算術運算符 #!/bin/bash a10 b20valexpr $a $b echo "a b : $val"valexpr $a - $b echo "a - b : $val"valexpr $a \* $b echo "a * b : $val"valexpr $b / $a…

C語言 | Leetcode C語言題解之第221題最大正方形

題目&#xff1a; 題解&#xff1a; int maximalSquare(char** matrix, int matrixSize, int* matrixColSize){int dp[301][301]{0};int wid0;if(matrixSize0&&matrixColSize[0]0){return 0;}for(int i0;i<matrixSize;i){for(int j0;j<matrixColSize[0];j){if(m…

Docker進入MongoDB

先是命令行開啟docker鏡像&#xff0c;然后進入docker鏡像&#xff0c;這是兩步 進入之后&#xff0c;開頭會變成root&#xff0c;我的理解是進入了另一個linux系統了&#xff0c;直接執行相應的軟件 這里直接use databse就是進入了&#xff0c;據說MongoDB是慢啟動&#xff0c…

MMGPL: 多模態醫學數據分析與圖提示學習| 文獻速遞-基于深度學習的多模態數據分析與生存分析

Title 題目 MMGPL: Multimodal Medical Data Analysis with Graph Prompt Learning MMGPL: 多模態醫學數據分析與圖提示學習 01 文獻速遞介紹 神經學障礙&#xff0c;包括自閉癥譜系障礙&#xff08;ASD&#xff09;&#xff08;Lord等&#xff0c;2018年&#xff09;和阿…

開發個人Go-ChatGPT–6 OpenUI

開發個人Go-ChatGPT–6 OpenUI Open-webui Open WebUI 是一種可擴展、功能豐富且用戶友好的自托管 WebUI&#xff0c;旨在完全離線運行。它支持各種 LLM 運行器&#xff0c;包括 Ollama 和 OpenAI 兼容的 API。 功能 由于總所周知的原由&#xff0c;OpenAI 的接口需要密鑰才…

C#字符串操作:判斷一個字符串是否存在于另一個字符串按特定字符分割后的子字符串中的幾種方法

要判斷一個字符串是否存在于另一個字符串按特定字符分割后的子字符串中&#xff0c;可以使用以下幾種方法&#xff1a; 方法一&#xff1a;使用Split和Array.Exists 你可以使用 Split 方法將字符串分割成子字符串數組&#xff0c;然后使用 Exists方法檢查目標字符串是否在數組…

Elasticsearch詳細介紹

B站對應視頻&#xff1a; Elasticsearch01-01.為什么學習elasticsearch_嗶哩嗶哩_bilibili 大多數日常項目&#xff0c;搜索肯定是訪問頻率最高的頁面之一。目前搜索功能是基于數據庫的模糊搜索來實現的&#xff0c;存在很多問題。 首先&#xff0c;查詢效率較低。 由于數據…