01-JavaWeb項目-註冊功能-底層邏輯分析

註冊功能

【web項目-註冊功能-邏輯分析/前臺後臺/三層架構/原生底層】

【技術實現:JavaScript/Ajax&json/Tomcat/MySQL/Spring-JDBC/Druid連接池】

前臺

JavaScript

  • 表單檢驗
    • 對每一個輸入框進行正則表達式的校驗,並綁定單擊事件
    • 判斷是否檢驗成功,並分別設置不同的css表現樣式
  • 失焦事件
    • 給每一個正則校驗輸入框綁定失焦事件,並傳遞響應的校驗方法名
  • 異步請求
    • 給表單提交按鈕綁定一個提交事件,並判斷所有校驗方法是否都校驗成功
    • 如果所有校驗成功,發送異步請求,將表單對象序列化作爲參數傳遞給後臺,最後接收後臺響應回來的數據進行判斷。
      • 如果註冊成功,跳轉註冊成功頁面,給用戶友好提示。
      • 如果註冊失敗,將後臺響應回來的錯誤信息展示到當前頁面
    • 如果校驗不成功,則直接返回false,不提交表單

後臺

web層

  1. 爲優化開發,簡化代碼,去重,定義一個BaseServlet類。以後所有的訪問後臺資源路徑的servlet類都要繼承BaseServlet,便於統一管理不同類目的servlet的不同調用請求
  2. 再寫一個用戶的servlet類,繼承BaseServlet,定義一個用戶註冊方法,私有化聲明UserService業務對象,便於後面重複調用該對象
  3. 先判斷驗證碼是否正確,減輕訪問數據庫的壓力
    1. 在驗證碼的servlet類中,通過session域對象設置驗證碼的值
    2. 通過request對象獲取session對象,並獲取到後臺自動設置的驗證碼的值
    3. 獲取到驗證碼後,應立即移除session中驗證碼的屬性值,讓驗證碼只能被只用一次,提高安全性
    4. 如果驗證碼對比失敗,則直接寫回失敗信息,封裝爲一個信息對象,並將信息對象轉爲json對象返回給前臺,最後return
    5. 如果驗證碼對比成功,繼續進行下一步
  4. 接收前臺請求發送的數據,並利用工具類轉成一個user對象封裝數據
  5. 調用service對象的用戶註冊方法,並將封裝好的user對象作爲參數傳遞過去,返回值爲布爾類型
  6. 判斷是否註冊成功,分別會寫成功或失敗的信息,封裝到info對象中,將info對象轉成json對象,響應給前臺

service層

  1. 定義一個用戶業務邏輯層的接口,再定義一個用戶業務邏輯層接口的實現類,在實現類裏面進行業務邏輯的處理
  2. 私有化聲明一個數據訪問對象,便於重複調用
  3. 定義一個用戶註冊的方法,先調用dao對象的根據用戶名查找用戶的方法
    • 如果用戶存在,不爲null,則直接返回false
    • 如果用戶不存在,則繼續執行下一步
  4. 給用戶設置一個激活碼,作爲判斷激活狀態的唯一標識。同時再給用戶設置激活狀態爲’N’
  5. 調用dao對象保存用戶信息的方法,無返回值
  6. 利用郵件工具類,給用戶註冊郵箱發送激活郵件。傳遞參數:用戶註冊郵箱、激活跳轉頁面(綁定激活碼參數)、標題信息
  7. 返回true

dao層

  1. 定義一個用戶表的數據處理接口,再定義一個用戶表數據處理接口的實現類,在實現類裏面進行對用戶表的CRUD操作
  2. 私有化聲明一個JdbcTemplate對象。依賴於數據源DataSource(使用Druid連接池)
  3. 調用template對象的方法,通過用戶名查詢用戶表是否存在該用戶。如果有返回值,最好進行try…catch,並在catch中寫一個輸出語句,記錄數據處理邏輯的結果信息
  4. 返回查詢結果
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章