黑馬旅遊網(二)註冊登陸

自從下定決心做這個小小的demo,自己遇到了很多的錯誤,有的解決了我,有的還沒有解決。從中得到了結論:任何成功的事情都要付出努力。

這篇文章主要說明註冊登陸的流程,分爲以下幾個部分:

一、用戶註冊

二、用戶登陸

三、用戶退出

一、用戶註冊

自從上了大學,到現在,不知道寫了多少關於用戶註冊的邏輯代碼,但是都沒有這次的邏輯更加全面。

什麼事情都不如一張流程圖一目瞭然:

 

這張流程圖大致說明了這個流程。首先用戶註冊提交用戶信息到Servlet層,Servlet層對數據進行封裝,並且調用Service層查詢用戶是否存在,Service層調用Dao查詢用戶,在Service查詢的結果如果是正確,則返回false給Servlet層,反之發送郵件並返回true給Servlet層,若最終返回給Servlet層的結果是存在這個用戶,將錯誤信息返回給前端,否則讓用戶激活用戶。

用戶需要登陸自己的郵箱來激活自己的狀態,當用戶點擊郵箱中的鏈接時,跳轉帶到激活用戶的Servlet,最終使用戶屬性的Status爲Y。

在這個註冊功能實現的過程中,自己遇到了一些問題:

第一個:session和驗證碼的問題

每一次在用戶輸入驗證碼時候,一定要及時刪除session中的驗證碼,防止用戶重複使用驗證碼。

第二個:頁面跳轉問題

在使用Ajax發送數據時,其中有一個要注意的地方,其實並不是Ajax的問題,而是自己關於前端的代碼不熟導致Ajax的數據提交了兩次,具體的錯誤代碼如下:

第三個:瀏覽器適配問題

不同瀏覽器對JS代碼的適應性不同,在使用IS使頁面跳轉時寫法不同:

window.location.href = "http://www.cnblogs.com/code-ten/";

第四個問題:發送郵件錯誤

這個問題實在可笑,我在自己郵箱字符串最後多寫了一個空格,然後一直一直報錯,我百度了一下午,一直看網上的教程,最終我看自己的郵箱字符串,發現多寫了一個空格。這個錯誤實在不應該啊!!!當解決這個問題的時候,自己非常開心,那種成就感油然而生,這或許就是我前進的動力吧!

以上就是在註冊功能的解釋和自己遇到的一些錯誤。

二、用戶登陸

在寫這一篇博客的同時,我問了之前maven出錯的問題,老師當時也不太知道,他大致猜測實我的settings文件出錯了,讓我重新找個setting文件,最後他直接發給我一個setting文件,這樣,我就直接可以運行了,這個困擾我很久的問題終於解決了,這種快樂無法用言語表達,反正是非常的激動,這樣我就可以做好的事情了。

——————————————————————————分割線————————————————————————

寫完上面的文字,就沒有時間寫接下來的文章了,這幾天明白了一個道理,發現自己的缺點,自己還是惰性太多了,每次都是自己找到一個讓自己發力的點,然後自己去努力爲了一個事情,而不是一直保持熱情,每次都是反反覆覆。熱情--沒有熱情--熱情--沒有熱情。。。。重複重複。有感而發,寫的一點點反思。

——————————————————————————分割線————————————————————————

那麼接下來,接着說黑馬旅遊網的登陸邏輯,這個邏輯還是比較簡單的,一張圖來說明:

登陸的邏輯大致是:用戶在前端提交登陸數據,後端根據數據查詢User對象,並在Servlet中判斷User是否激活,如果沒有激活,返回給前端“此用戶沒有激活”,如果沒有查到這個和User,則返回“用戶名或者密碼錯誤”,如果正確,在Session中保存User對象,然後跳轉到主頁。還有一個功能,就是在主頁顯示登陸的當前用戶,這個功能的實現就是主頁中那個用戶顯示是一個Ajax請求,當頁面展示完全時,就發送一個顯示User 的請求,在Servlet中處理這個請求,然後返回上面session中User對象即可讓前端顯示登陸的用戶名。

自己在做個小小的功能的時候比較順利,沒有遇到多少錯誤

關鍵點:在實現顯示用戶名的時候,需要用到Session功能,具體的Session和cookie原理看我的另一篇博客:點擊查看

註冊和登陸的流程圖:

三、用戶退出

這個功能是基於登陸功能的,只要理解登陸功能的原理,當用戶點擊退出的功能時候,會發送一個請求道ExitSevlet,這個servlet中會銷燬session:

歷時了整整10天的時間,自己這個登陸的功能寫完了,這期間反思了很多,有時感到很迷茫,感覺到前方的道路好像實是在那吧,自己也變得不自信了,上週六去合肥參加了軟考,考的是程序員,下年準備考軟件設計師和信息系統項目管理師,先朝着這個方向努力吧!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章