三層架構(MVC)實現簡單登陸註冊驗證(含驗證碼)
前言在我的上一篇微博裡我已經提出了登陸的方法,當時我採取的是純servlet方式,因為當時剛接觸到servlet,正好網上沒有這方面的全面講解,所以我就發飆了。不過在現實生產中我們大多采用的三層架構。所謂三層架構(web層+service層+dao層)。下面我就詳細講解一下
一、dao層——資料訪問層
- 模擬資料庫:依然像錢一張一樣,我們無法將資料庫拿到文件中,所以我還是模擬了資料庫(Dao).只不過這裡我用的是xml檔案來實現資料庫
<?xml version="1.0" encoding="UTF-8" ?>
<users>
<user username="Admin" password="Admin" nickname="Admin" email="
<user username="張新華" password="123" nickname="煙花散盡13141" email="[email protected]"></user>
</users>然後再資料庫中我實現了查找了和增加功能,查詢呢又細分通過使用者名稱查詢和通過使用者名稱密碼查詢,前者是查詢後者則偏向於驗證。通過後者可以驗證使用者名稱和密碼是否匹配,這兩個函式在後面的web層中起到關鍵因素。
通過使用者名稱查詢:
- `public User FindUserByUsername(String username)
{
Document dom=XmlDaoUtil.GetDom();//�õ�dom����
Element root=dom.getRootElement();
List list = root.selectNodes(“//user[@username=’”+username+”’]”);
if(list.size()>0)
{
Element userele=list.get(0);
User user=new User();
user.setUsername(userele.attributeValue(“username”));
user.setPassword(userele.attributeValue(“password”));
user.setNickname(userele.attributeValue(“nikename”));
user.setEmail(userele.attributeValue(“email”));
return user;
}
else
{
return null;
}
}`- `public User FindUserByUsername(String username)
通過使用者名稱和密碼進行驗證
- public User FindUserByUNameAndPsw(String username,String password)
{
Document dom=XmlDaoUtil.GetDom();//�õ�dom����
Element root=dom.getRootElement();
List list = root.selectNodes(“//user[@username=’”+username+”’ and @password=’”+password+”’]”);
if(list.size()>0)
{
Element userele=list.get(0);
User user=new User();
user.setUsername(userele.attributeValue(“username”));
user.setPassword(userele.attributeValue(“password”));
user.setNickname(userele.attributeValue(“nikename”));
user.setEmail(userele.attributeValue(“email”));
return user;
}
else
{
return null;
}
}- public User FindUserByUNameAndPsw(String username,String password)
- 新增使用者
public void AddUser(User user)
{
Document dom=XmlDaoUtil.GetDom();
Element root=dom.getRootElement();//��ȡ���ڵ�//����һ��Ԫ�ض���
Element userele=DocumentHelper.createElement(“user”);
Attribute attr1=DocumentHelper.createAttribute(userele, “username”, user.getUsername());
Attribute attr2=DocumentHelper.createAttribute(userele, “password”, user.getPassword());
Attribute attr3=DocumentHelper.createAttribute(userele, “nickname”, user.getNickname());
Attribute attr4=DocumentHelper.createAttribute(userele, “email”, user.getEmail());userele.add(attr1);
userele.add(attr2);
userele.add(attr3);
userele.add(attr4);root.add(userele);
}
相關推薦
三層架構(MVC)實現簡單登陸註冊驗證(含驗證碼)
前言在我的上一篇微博裡我已經提出了登陸的方法,當時我採取的是純servlet方式,因為當時剛接觸到servlet,正好網上沒有這方面的全面講解,所以我就發飆了。不過在現實生產中我們大多采用的三層架構。所
【C#】簡單三層架構(MVC)實現學生資訊管理
一個簡單的demo,程式碼不多,適合初學者。 三層架構分別是:表示層(UI)、業務邏輯層(NLL)、資料訪問層(DAL). 視訊講解教程: 微課7-1三層架構的搭建-----https://2d.hep.com.cn/47486/98 微課7-2顯示學生資訊--------htt
三層架構下實現使用者登陸C#
上篇文章講到三層。接下來就通過一個例項具體的看怎麼用三層實現使用者登陸介面。 一、Model實體(LoginModel): namespace LoginModel {
Python tkinter 實現簡單登陸註冊 基於B/S三層體系結構,實現用戶身份驗證
cte cursor 實現簡單 結果 pass 分享圖片 not null for 技術 Python tkinter 實現簡單登陸註冊 最終效果 開始界面 ? 註冊 登陸 ? 源碼 login.py # encoding=utf-8 f
Android 實現簡單的登陸註冊功能(SharedPreferences和SQLite)
最近剛好做了一個Android的登入註冊介面,將資料利用SharedPreferences或者SQLite繫結到Android程式中,實現簡單的登陸註冊功能,本文未涉及到與伺服器的交流。 首先,對於登陸註冊要有一個明確的邏輯順序,不管是對於SharedPreferences
黑馬程式設計師 C#學習筆記⑥ 三層架構基礎實現員工資訊管理
---------------------- ASP.Net+Unity開發、.Net培訓、期待與您交流! ---------------------- 三層架構定義 1、表現層(UIL):通俗講就是展現給使用者的介面,即使用者在使用一個系統的時候他的所見所得。 2、業
基於三層架構下的公共資料訪問方法(Sqlite資料庫)
作者總結了一下,使用Winform的三層架構做窗體應用程式,在資料訪問方面,有用到純sql語句方法、引數方法、儲存過程方法。 那麼什麼是三層架構呢? UI---存放Form窗體---(使用者所關心的) 業務邏輯層----存放業務傳遞(BLL) 資料訪問層----底層的資料處理方法(DAL) 資料公共
ASP.NET 實現簡單的註冊介面(使用asp控制元件)
我們利用ASP.NET來實現簡單的註冊介面 一:註冊首頁的介面程式碼(.aspx檔案 這裡使用的是asp自帶的控制元件,也可以使用HTML的控制元件來實現) <%@ Page Language="C#" AutoEventWireup="true" CodeBehin
使用JDBC實現簡單的寵物系統(增刪改查)
BaseDao類(jdbc實現資料庫連線,增刪改查功能) package dao2; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import
自己動手實現簡單的事務管理(動態代理+註解)一
使用原生的servlet,沒有使用框架。運用動態代理技術手動實現service層的事務管理。並增加註解功能,用於查詢時無需事務管理。 事務管理需要保證連線Connection的一致,即dao層和service層的connection是同一個,這就需要用到Thr
自己動手實現簡單的事務管理(動態代理+註解)二
上一篇介紹了ThreadLocalJDBCUtils(用於獲得與執行緒繫結的connection的工具類)。不熟悉的可以看下面的連結。 自己動手實現簡單的事務管理(動態代理+註解)一 動態代理不做贅述,下面的連結希望可以幫助你理解。 動態代理快速理解 我
一、(1)C++ 實現簡單的線性表(順序儲存結構)
作為新手,初學C++和資料結構,也想發發博文,分享點自己的學習所得,也請諸位看官幫忙指正,能提提意見是極好的了! 首先呢,我給各位看官講個笑話:一個統計學家在調查了大量的資料後發現,兩個互不串通的人同時帶炸彈上飛機的概率幾乎是零,於是他每次坐飛機都會隨身攜帶一個炸彈。哈哈
matlab實現簡單BP神經網路(不使用工具箱),兩種求誤差方式
BP網路實現y=1+x+x*x函式模擬,輸入層一個節點,隱含層8個節點,輸出層1個節點 將資料分為測試集合和訓練集合兩部分 %% BP演算法模擬 y = 1 + x + x*x %作者:msl 時間:2017-10-07 clc; clear; %% step0:定義 Tr
【分享】分享一個基於SSH實現的簡單學生選課系統(附源碼)
download 3.2 cor 點擊 小菜 我們 重新 模式窗口 額外 首先聲明:本小項目是因老師而做,主要為了完成老師項目要求,當然也添加了許多老師沒有要求的功能,本項目代碼非常簡單,分享出來時為了和我一樣的小菜鳥共同學習一下,只適合初學者拿來學習,大牛可直接繞過。
三步輕松打造微信聊天機器人(附源碼)
exce 聊天 pos 平臺開發 weather ebo doctype amr 便在 最近微信公眾平臺開發是熱門,我也跟風做了一個陪聊的公眾號。 其實類似的自動回話程序早就有了,比如前一陣很火的小黃雞(還是小黃鴨來著?)。但盡管是跟風,也要體現一些不同。別
【Java並發編程】之六:Runnable和Thread實現多線程的區別(含代碼)
技術分享 runnable 避免 實際應用 details div 一個 預測 enter 轉載請註明出處:http://blog.csdn.net/ns_code/article/details/17161237 Java中實現多線程有兩種方法:繼承Thre
註冊中心 Eureka 源碼解析 —— 調試環境搭建(含源碼)
Java 架構 依賴工具GradleJDKIntelliJ IDEA 源碼拉取https://github.com/Netflix/eureka.git使用 IntelliJ IDEA 從 Fork 出來的倉庫拉取代碼。拉取完成後,Gradle 會下載依賴包,可能會花費一些時間,耐心等待下。 本文基
Java 小練習—使用者註冊登入(含異常處理 )
需求: A: 請選擇要使用的功能 1. 登入 請輸入賬號 請輸入密碼 呼叫 B 的方法獲取登入結果 登入成功/登入失敗 2. 註冊 請輸入賬號 請輸入密碼 呼叫 B 的方法獲取註冊結果 註冊成功/註冊失敗
社交App系統架構--自己親手寫的App系統(含github原始碼)
社交App系統架構 目前社交類應用有App,小程式,網站,微信公眾號等,其中最普遍有效的客戶端還是App。 本人利用空餘時間開發了一款Android版App–星座空間(英文名star-zone) 原始碼在開源到了github上https://github.com/flylib/s
三層架構實現 集合模擬登陸註冊
集合模擬登陸註冊 三層架構實現 集合模擬登陸註冊 User類 使用者名稱和使用者密碼 PlayGame 寫一個小遊戲類 UserService 介面 抽象的業務實現 UserService