登錄和注冊模塊的設計與實現_第1頁
登錄和注冊模塊的設計與實現_第2頁
登錄和注冊模塊的設計與實現_第3頁
登錄和注冊模塊的設計與實現_第4頁
登錄和注冊模塊的設計與實現_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、*1登錄和注冊模塊的設計與實現(負責人:*登錄和注冊界面登錄用戶在進行系統登錄時,需要通過該界面輸入帳號、密碼和用戶身份,然后點擊“登錄”按鈕進行登錄,登錄界面設計如圖 1.1所示以 電哥0蜘平臺登錄主明I 口 I回崛號:露母I,用戶身陰: 管攫員 4I管理員II 登錄I普通用戶1.1.2注冊用戶在進行注冊時,需要通過該界面輸入帳號、密碼和用戶身份,然后點擊“點我注冊”按鈕進行注冊,注冊界面設計如圖1.1.2注冊用戶在進行注冊時,需要通過該界面輸入帳號、密碼和用戶身份,然后點擊“點我注冊”按鈕進行注冊,注冊界面設計如圖1.2所示。,5hoppingSystem:等5KJ 缶 shoppingS

2、y5tem 便 Loginjavaj 凸 shoppingSystem.dao.J, UserDaojava,T UserDaolmpIjavaJ tH &hoppingSy5tem.entity1:山 Userjava三 shoppingSystemirame ,J AduTninMainFrame.java 7j LoginRegFo rm java口 0 UserMainFrameJavaJ tH shoppingSystem,service 1 UserServiceJava Tj UserServicelmpl.javaLtj perties注冊界面登錄注冊模塊文件的

3、組織1.2該模塊涉及到的文件和類通過詳細的分析,該模塊涉及到的文件和類在工程中的組織如圖1.3所示。持久層用文件perties來持久存儲用戶的信息,文件中以key=value對的形式存儲,并約定key為賬號,value為密碼+空格+用戶身份;如一個賬號為 zhangsan,密碼為123,用戶身份為管理員,另一個帳號為lisi ,密碼為456, 用戶身份為普通用戶。那么在文件中將以下面的形式存儲。zhangsan=123 管理員lisi=456 普通用戶實體類UserUser該類主要用于封裝用戶的信息:帳號、密碼和用戶身份,類圖如圖1.4所示。User-uName:String

4、-uPwd:String-uRole : String提供了每個成員變量的 getter和setter方法,還有全參構造方法1.4 User 類圖文件操作層(Dao層)該層涉及到接口 UserDao和實現該接口的類 UserDaoImpl,主要用來完成對文件perties的讀和寫操作。讀文件方法public String readByKey(String key);該方法根據關鍵字key讀取信息value。實現如下:寫文件方法public boolean updateFile(String key,String value);該方法是寫入配置信息,實現如下:類UserDaoIm

5、pl的實現代碼如下:public class UserDaoImpl implements UserDaoprivate Properties config=null;private String fullUserFile=null;public UserDaoImpl(String fullUserFile) / TODO Auto-generated constructor stubthis.fullUserFile=fullUserFile;/根據關鍵字key讀取信息valuepublic String readByKey(String key)config=new Properties

6、。;FileInputStream fis=null;try (fis=newFileInputStream(D:javaprogramshoppingSystemsrc+fullUserFile);config.load(fis);System.out.println(成功加載配置文件:+fullUserFile); catch (FileNotFoundException e) / TODO Auto-generated catch blockSystem.out.println(配置文件不存在:+e.getMessage(); catch (IOException e) / TODO A

7、uto-generated catch blockSystem.out.println(讀取配置文件出錯:+e.getMessage();if(config!=null)return config.getProperty(key);elsereturn null;/寫入配置信息public boolean updateFile(String key,String value)String val=readByKey(key);if(val=null)/鍵值不存在,添加新鍵值,即新用戶信息config.setProperty(key, value);/回寫到指定的文件FileOutputStre

8、am os=null;try os=newFileOutputStream(D:javaprogramshoppingSystemsrc+fullUserFil e);config.store(os,寫入新的用戶信息)os.close(); catch (FileNotFoundException e) / TODO Auto-generated catch block e.printStackTrace(); catch (IOException e) / TODO Auto-generated catch block e.printStackTrace();return true;else

9、return false;)業務邏輯層(Service層)該層涉及到接口 UserService 和實現該接口的類 UserServicelmpl ,主要用 來完成登錄邏輯和注冊邏輯。登錄方法public boolean login(User u);該方法判斷u是否是一個合法用戶,需要調用Dao層的對應方法讀取文件信 息,判斷文件中是否存在該用戶,存在返回true,否則返回false 。注冊方法public boolean Register(User u);該方法完成用戶u的注冊,如果該用戶帳號已經注冊過,不能重復注冊;否則,調用Dao層的對應方法將用戶信息寫入文件。類UserServiceI

10、mpl的實現代碼如下:public class UserServiceImpl implements UserService UserDao ud=null;public UserServiceImpl() ud=new UserDaoImpl(perties);)Overridepublic boolean login(User u) / TODO Auto-generated method stub/判斷是否存在該用戶String pwdRole=ud.readByKey(u.getuName();if(pwdRole!=null)/將從配置文件讀出的密碼和用戶身份分離開S

11、tring口 pwdRoleArray=pwdRole.split();if(pwdRoleArray0.equals(u.getuPwd()&pwdRoleArray1.equals(u.getuRole()return true;elsereturn false;elsereturn false;Overridepublic boolean Register(User u) / TODO Auto-generated method stub/將用戶信息重新組裝String uName=u.getuName();String pwdRole=u.getuPwd()+ +u.getuRole(

12、);/ 調用DaO!的方法將用戶信息寫入文件if(ud.updateFile(uName, pwdRole)return true;elsereturn false;界面層(frame層)本層包括三個窗體類: LoginRegFrama AdminMainFrame和 UserMainFrame, 運行結果如圖1.1 , 1.5 , 1.6。登錄按鈕的響應流程和核心代碼獲取用戶從界面輸入的帳號、密碼和用戶身份,將信息用 User封裝,調用 service層的登錄方法,如果該方法返回true,說明該用戶存在。(1)若是管理員,則顯示管理員對應的主窗體,管理員主窗體如圖 1.5所 示;(2)若是普

13、通用戶,顯示普通用戶對應的主窗體,普通用戶主窗體如圖1.5 所示。如果該方法返回false,說明該用戶不存在,系統提示“用戶名或密碼不正 確” -電商用物平臺系統【歡迎管理員zhangsan登錄軍珠】(2.5該琳城圜汲到文件和圜電商購物平臺素紙【歡迎普通用戶:IE登錄案株】I購物管理訂單管理個人信息管理查詢商品信息,按商品類別查詢查看購物車按商品名稱查詢清空購物車1.6普通用戶主窗體核心代碼:b_login.addActionListener(new ActionListener()Overridepublic void actionPerformed(ActionEvent e) / TOD

14、O Auto-generated method stub/判斷用戶從窗體中輸入的用戶名和密碼是否在數據庫中存在String uName=t_id.getText();String uPwd=new String(t_pwd.getPassword();String uRole=c_role.getSelectedItem().toString();UserService uService=new UserServiceImpl();if(uName=null)JOptonPane.showMessageDialog(b_login,”用戶名不能為空! ! !);elseUser u=new U

15、ser(uName,uPwd,uRole);if(uService.login(u)if(u.getuRole().equals( 管理員) new AdminMainFrame(u);/登錄成顯示主窗體 elsenew UserMainFrame(u);/登錄成功顯示主窗體 elseJOptionPane.showMessageDialog(b_login,”用戶名或密碼不正確! !); );注冊按鈕的響應流程獲取用戶從界面輸入的帳號、密碼和用戶身份,將信息用 User封裝,調用 service 層的注冊方法。(1)用戶在“點擊注冊之前”必須輸入用戶名和密碼,否則系統將會提示,提示信息如圖1

16、.7(2)用戶只常人用帶麻憎瀘牛加息否則系統將會給出“只能以普通用戶身份注冊”的提示信息!(3)用戶名如果已經注冊過,系統將會給出“注冊失敗,該用戶已經存在! ! 的提示信息!(4)如果用戶注冊成功,系統將會將注冊信息寫入文件,并給出“注冊成功, 可以登錄啦! !”的提示信息!核心代碼:b_register.addActionListener(new ActionListener()Overridepublic void actionPerformed(ActionEvent e) / TODO Auto-generated method stubString uName=t_id.getText();String uPwd=new String(t_pwd.getPassword();String uRole=c_role.getSelectedItem().toString();if(uName.equals()|uPwd.equals()JOptionPane.showMessageDialog(b_login,”請先輸入完整的用戶名和密碼再點擊注冊! !);return;if(uRole.equals(管理員)JOptionPane.showMessageDialog(b_login,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論