登錄和注冊(cè)模塊的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
登錄和注冊(cè)模塊的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
登錄和注冊(cè)模塊的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
登錄和注冊(cè)模塊的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
登錄和注冊(cè)模塊的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、*1登錄和注冊(cè)模塊的設(shè)計(jì)與實(shí)現(xiàn)(負(fù)責(zé)人:*登錄和注冊(cè)界面登錄用戶在進(jìn)行系統(tǒng)登錄時(shí),需要通過該界面輸入帳號(hào)、密碼和用戶身份,然后點(diǎn)擊“登錄”按鈕進(jìn)行登錄,登錄界面設(shè)計(jì)如圖 1.1所示以 電哥0蜘平臺(tái)登錄主明I 口 I回崛號(hào):露母I,用戶身陰: 管攫員 4I管理員II 登錄I普通用戶1.1.2注冊(cè)用戶在進(jìn)行注冊(cè)時(shí),需要通過該界面輸入帳號(hào)、密碼和用戶身份,然后點(diǎn)擊“點(diǎn)我注冊(cè)”按鈕進(jìn)行注冊(cè),注冊(cè)界面設(shè)計(jì)如圖1.1.2注冊(cè)用戶在進(jìn)行注冊(cè)時(shí),需要通過該界面輸入帳號(hào)、密碼和用戶身份,然后點(diǎn)擊“點(diǎn)我注冊(cè)”按鈕進(jìn)行注冊(cè),注冊(cè)界面設(shè)計(jì)如圖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注冊(cè)界面登錄注冊(cè)模塊文件的

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

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

5、pl的實(shí)現(xiàn)代碼如下:public class UserDaoImpl implements UserDaoprivate Properties config=null;private String fullUserFile=null;public UserDaoImpl(String fullUserFile) / TODO Auto-generated constructor stubthis.fullUserFile=fullUserFile;/根據(jù)關(guān)鍵字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(讀取配置文件出錯(cuò):+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;)業(yè)務(wù)邏輯層(Service層)該層涉及到接口 UserService 和實(shí)現(xiàn)該接口的類 UserServicelmpl ,主要用 來(lái)完成登錄邏輯和注冊(cè)邏輯。登錄方法public boolean login(User u);該方法判斷u是否是一個(gè)合法用戶,需要調(diào)用Dao層的對(duì)應(yīng)方法讀取文件信 息,判斷文件中是否存在該用戶,存在返回true,否則返回false 。注冊(cè)方法public boolean Register(User u);該方法完成用戶u的注冊(cè),如果該用戶帳號(hào)已經(jīng)注冊(cè)過,不能重復(fù)注冊(cè);否則,調(diào)用Dao層的對(duì)應(yīng)方法將用戶信息寫入文件。類UserServiceI

10、mpl的實(shí)現(xiàn)代碼如下: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、);/ 調(diào)用DaO!的方法將用戶信息寫入文件if(ud.updateFile(uName, pwdRole)return true;elsereturn false;界面層(frame層)本層包括三個(gè)窗體類: LoginRegFrama AdminMainFrame和 UserMainFrame, 運(yùn)行結(jié)果如圖1.1 , 1.5 , 1.6。登錄按鈕的響應(yīng)流程和核心代碼獲取用戶從界面輸入的帳號(hào)、密碼和用戶身份,將信息用 User封裝,調(diào)用 service層的登錄方法,如果該方法返回true,說(shuō)明該用戶存在。(1)若是管理員,則顯示管理員對(duì)應(yīng)的主窗體,管理員主窗體如圖 1.5所 示;(2)若是普

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

14、O Auto-generated method stub/判斷用戶從窗體中輸入的用戶名和密碼是否在數(shù)據(jù)庫(kù)中存在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,”用戶名或密碼不正確! !); );注冊(cè)按鈕的響應(yīng)流程獲取用戶從界面輸入的帳號(hào)、密碼和用戶身份,將信息用 User封裝,調(diào)用 service 層的注冊(cè)方法。(1)用戶在“點(diǎn)擊注冊(cè)之前”必須輸入用戶名和密碼,否則系統(tǒng)將會(huì)提示,提示信息如圖1

16、.7(2)用戶只常人用帶麻憎瀘牛加息否則系統(tǒng)將會(huì)給出“只能以普通用戶身份注冊(cè)”的提示信息!(3)用戶名如果已經(jīng)注冊(cè)過,系統(tǒng)將會(huì)給出“注冊(cè)失敗,該用戶已經(jīng)存在! ! 的提示信息!(4)如果用戶注冊(cè)成功,系統(tǒng)將會(huì)將注冊(cè)信息寫入文件,并給出“注冊(cè)成功, 可以登錄啦! !”的提示信息!核心代碼: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,”請(qǐng)先輸入完整的用戶名和密碼再點(diǎn)擊注冊(cè)! !);return;if(uRole.equals(管理員)JOptionPane.showMessageDialog(b_login,

溫馨提示

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

評(píng)論

0/150

提交評(píng)論