1. 程式人生 > >三層架構(MVC)實現簡單登陸註冊驗證(含驗證碼)

三層架構(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="
    [email protected]
    "></user>
    <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 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 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的工具類)。不熟悉的可以看下面的連結。 自己動手實現簡單的事務管理(動態代理+註解)一 動態代理不做贅述,下面的連結希望可以幫助你理解。 動態代理快速理解 我

一、1C++ 實現簡單的線性表順序儲存結構

作為新手,初學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