畢業(yè)設計-用戶管理系統(tǒng)的設計與開發(fā)_第1頁
畢業(yè)設計-用戶管理系統(tǒng)的設計與開發(fā)_第2頁
畢業(yè)設計-用戶管理系統(tǒng)的設計與開發(fā)_第3頁
畢業(yè)設計-用戶管理系統(tǒng)的設計與開發(fā)_第4頁
畢業(yè)設計-用戶管理系統(tǒng)的設計與開發(fā)_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、XXXX大學XX學院畢業(yè)設計報告書課程名稱:軟件開發(fā)畢業(yè)設計題目:用戶管理系統(tǒng)的設計與開發(fā)系名:XXXX系專業(yè)班級:XXXX專業(yè)XXXX班姓名:學號:指導教師:年月日課程設計任務書學生姓名:專業(yè)班級:指導教師:工作單位:設計題目:用戶管理系統(tǒng)的設計與開發(fā)初始條件:了解軟件工程基本知識,掌握JAVA編程基礎,了解基本的軟件開發(fā)工具。要求完成的主要任務:功能:用戶可以注冊,然后登陸,有錯誤提示等。登陸成功以后,會列出所有用戶的記錄信息。登陸用戶可對記錄進行增加、修改、刪除、查詢等操作。技術:jsp+servlet+tomcat6.0+mysql設計報告撰寫格式要求:一、課程設計說明書(或報告書)正

2、文內(nèi)容【設計題目】用戶管理系統(tǒng)的設計與開發(fā)【開發(fā)環(huán)境】windowsXP【開發(fā)工具】MyEclipse7.0,tomcat6.0,MySQL【完成時間】【設計思想】描述確定設計內(nèi)容后,自己如何思考的、確定設計的方案是什么?打算如何實現(xiàn)【設計過程及設計步驟】將設計的步驟及實施過程分步總結寫出來【測試運行】描述對于自己給定的數(shù)據(jù),運行后的結果如何?【評價與修訂】對自己設計內(nèi)容及結果進行全面評價描述,包括:創(chuàng)造性、獨特性、滿意程度及不足處,并提出改進意見;【設計體會】總結本次實訓經(jīng)驗、教訓、收獲、體會,為今后的實踐環(huán)節(jié)學習打好基礎【參考文獻】羅列在設計過程中查閱的文獻名稱時間安排:目錄TOC o 1

3、-5 h z HYPERLINK l bookmark6 第1章需求分析1 HYPERLINK l bookmark8 1.1設計題目1 HYPERLINK l bookmark10 1.2設計要求1 HYPERLINK l bookmark12 1.3設計任務1 HYPERLINK l bookmark14 1.4開發(fā)環(huán)境與工具2 HYPERLINK l bookmark16 第2章概要設計2 HYPERLINK l bookmark18 設計思想2 HYPERLINK l bookmark20 系統(tǒng)功能設計2 HYPERLINK l bookmark22 第3章詳細設計3 HYPERLIN

4、K l bookmark34 第4章設計運行結果與分析13 HYPERLINK l bookmark36 運行結果13用戶登錄界面13添加用戶13修改用戶信息14刪除用戶15查詢用戶15結果分析16 HYPERLINK l bookmark52 第5章設計體會與小結17 HYPERLINK l bookmark54 參考文獻17附錄14第1章需求分析設計題目用戶管理系統(tǒng)的設計與開發(fā)。設計要求了解軟件工程基本知識。掌握JAVA編程基礎。了解基本的軟件開發(fā)工具。設計任務(1)設計一個用戶管理系統(tǒng),用戶能夠注冊、登陸,登陸成功后,會列出所有用戶的記錄信息。(2)登錄用戶能夠?qū)τ涗涍M行增加、刪除、修改

5、,查詢操作。開發(fā)環(huán)境工具WindowsXP系統(tǒng),MyEclipse7.0,tomcat6.0,MySQL等開發(fā)工具。第2章概要設計2.1設計思想本次課程設計通過使用MYSQL,Myeclisp7.0,Tomcat6.0等軟件,首先設計一個用戶管理系統(tǒng),以達到用戶能夠注冊、登陸,登陸成功后,會列出所有用戶的記錄信息的目的最后能實現(xiàn)登錄用戶能夠?qū)τ涗涍M行增加、刪除、修改,查詢操作等工作。首先利用Mysql軟件創(chuàng)建數(shù)據(jù)庫,命名為db_user;然后,在db_user中創(chuàng)建表,命名為tb_user,在表中創(chuàng)建4個字段:用戶編號(userId),用戶姓名(userName),用戶密碼(userPass)

6、,用戶年齡(userAge),并且將用戶編號設置為主鍵。進行數(shù)據(jù)庫連接,最后在Myeclisp7.0工具中去運行編程結果以達到用戶登錄進行增加、刪除、修改,查詢操作。系統(tǒng)功能設計2.2系統(tǒng)功能圖第3章詳細設計3.1創(chuàng)建數(shù)據(jù)庫,在數(shù)據(jù)庫中建立用戶信息表:Createdatabasedb_userUsedb_userCreatetabletb_user(useridintnotnullprimarykey,userNamevarchar(20),userPassvarchar(50),userAgeint)創(chuàng)建數(shù)據(jù)庫連接:importjava.sql.Connection;importjava.s

7、ql.DriverManager;importjava.sql.SQLException;publicclassDBConnectionprivatestaticStringdriverName=com.mysql.jdbc.Driver;privatestaticStringuserName;privatestaticStringuserPass;privatestaticStringurl=jdbc:mysql:/localhost:3306/db_user;publicstaticConnectiongetConnection(String_url,String_userName,Str

8、ing_userPass)userName=_userName;userPass=_userPass;url=_url;Connectionconn=null;tryClass.forName(driverName);conn=DriverManager.getConnection(url,userName,userPass);catch(ClassNotFoundExceptione)/TODOAuto-generatedcatchblocke.printStackTrace();catch(SQLExceptione)/TODOAuto-generatedcatchblocke.print

9、StackTrace();returnconn;publicstaticConnectiongetConnection()returngetConnection(url,root,123456);publicstaticvoidcloseConnection(Connectionconn)if(conn!=null)tryconn.close();catch(SQLExceptione)/TODOAuto-generatedcatchblocke.printStackTrace();用戶主要功能的實現(xiàn):importjava.sql.Connection;importjava.sql.Prepa

10、redStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.ArrayList;importcom.softeem.dto.UserDTO;publicclassUserDAOprivateConnectionconn;privateStatementst;privateResultSetrs;privateStringsql;publicvoidadd(UserDTOuser)conn=DBConnection.getConnection(

11、);tryst=conn.createStatement();sql=insertintotb_user(userName,userPass,userAge)values(+user.getUserName()+,+user.getUserPass()+,+user.getUserAge()+);intm=st.executeUpdate(sql);if(m!=0)System.out.println(”添加成功);DBConnection.closeConnection(conn);catch(SQLExceptione)/TODOAuto-generatedcatchblocke.prin

12、tStackTrace();publicvoidupdate(UserDTOuser)conn=DBConnection.getConnection();tryst=conn.createStatement();sql=updatetb_usersetuserName=+user.getUserName()+,userPass=+user.getUserPass()+,userAge=+user.getUserAge()+whereuserId=+user.getUserId()+;*?intm=st.executeUpdate(sql);if(m!=0)System.out.println(

13、”修改成功”);catch(SQLExceptione)/TODOAuto-generatedcatchblocke.printStackTrace();publicvoiddelete(intn)conn=DBConnection.getConnection();tryst=conn.createStatement();sql=deletefromtb_userwhereuserId=+n+;intm=st.executeUpdate(sql);if(m!=0)System.out.println(”刪除成功”);catch(SQLExceptione)/TODOAuto-generated

14、catchblocke.printStackTrace();publicArrayListselectAll()ArrayListlist=newArrayList();conn=DBConnection.getConnection();tryst=conn.createStatement();sql=select*fromtb_user;rs=st.executeQuery(sql);while(rs.next()UserDTOuser=newUserDTO();user.setUserId(rs.getInt(userId);user.setUserName(rs.getString(us

15、erName);user.setUserPass(rs.getString(userPass);user.setUserAge(rs.getInt(userAge);list.add(user);catch(SQLExceptione)e.printStackTrace();returnlist;publicUserDTOselectById(intn)UserDTOuser=newUserDTO();conn=DBConnection.getConnection();tryst=conn.createStatement();sql=select*fromtb_userwhereuserId=

16、+n+;rs=st.executeQuery(sql);while(rs.next()user.setUserId(rs.getInt(userId);user.setUserName(rs.getString(userName);user.setUserPass(rs.getString(userPass);user.setUserAge(rs.getInt(userAge);catch(SQLExceptione)e.printStackTrace();returnuser;publicArrayListselectByProperty(Stringproperty,Stringvalue

17、)ArrayListlist=newArrayList();conn=DBConnection.getConnection();PreparedStatementpst=null;tryif(property.equals()|property=null|value.equals()|value=null)sql=select*fromtb_user;pst=conn.prepareStatement(sql);elsesql=select*fromtb_userwhere+property+like?;pst=conn.prepareStatement(sql);pst.setString(

18、1,%+value+%);System.out.println(sql);rs=pst.executeQuery();while(rs.next()UserDTOuser=newUserDTO();user.setUserId(rs.getInt(userId);user.setUserName(rs.getString(userName);user.setUserPass(rs.getString(userPass);user.setUserAge(rs.getInt(userAge);list.add(user);catch(SQLExceptione)e.printStackTrace(

19、);returnlist;publicbooleancheckLoginuser(UserDTOuser)booleanflag=false;conn=DBConnection.getConnection();tryst=conn.createStatement();/sql=select*fromtb_userwhereuserName=+/user.getUserName()/+anduserPass=+user.getUserPass()+;/查詢滿足userName和userPass條件的記錄sql=selectcount(*)fromtb_userwhereuserName=+use

20、r.getUserName()+anduserPass=+user.getUserPass()+;/sql=selectuserPassfromtb_userwhereuserName=+user.getUserName()+;/執(zhí)行sql語句rs=st.executeQuery(sql);/對結果集進行遍歷如果查詢的記錄條數(shù)大于0則說明數(shù)據(jù)庫存在該條記錄此時改變flag的值while(rs.next()if(rs.getInt(1)0)flag=true;catch(SQLExceptione)e.printStackTrace();returnflag;測試過程:publicclassUs

21、erDAOTestTestpublicvoidtestAdd()UserDTOuser=newUserDTO();user.setUserName(admin);user.setUserPass(123456);user.setUserAge(43);UserDAOdao=newUserDAO();dao.add(user);TestpublicvoidtestUpdate()UserDTOuser=newUserDTO();user.setUserId(1);user.setUserName(test);user.setUserPass(1111111);user.setUserAge(11

22、1);UserDAOdao=newUserDAO();dao.update(user);Testpublicvoiddelete()UserDAOdao=newUserDAO();dao.delete(1);TestpublicvoidtestSelectAll()UserDAOdao=newUserDAO();ArrayListlist=dao.selectAll();for(inti=0;ilist.size();i+)System.out.println(list.get(i).getUserId()+t+list.get(i).getUserName()+t+list.get(i).g

23、etUserPass()+t+list.get(i).getUserAge();TestpublicvoidtestSelectById()UserDAOdao=newUserDAO();UserDTOuser=dao.selectById(6);System.out.println(user.toString();TestpublicvoidtestCheckLoginuser()UserDTOuser=newUserDTO();user.setUserName(Lucy);user.setUserPass(123456);UserDAOdao=newUserDAO();booleanfla

24、g=dao.checkLoginuser(user);System.out.println(flag);第4章設計運行結果與分析4.1運行結果4.1.1用戶登錄界面運行l(wèi)ogin.jsp得到的結果如下:用戶名:登錄|垂置圖3.1.1用戶登陸界面4.1.2添加用戶點擊頁面的增加選項,彈出如下窗口,添加新用戶,用戶名為admin,設置密碼,用戶年齡。設置完成后,點擊增加按鈕。添加用戶成功后,顯示頁面如下:圖3.1.2增加用戶4.1.3修改用戶信息點擊頁面的“編輯“按鈕,修改用戶名為”admin“的用戶信息,將其用戶密碼修改為123456。修改頁面如下圖用戶名:|admin用戶密碼,1123455圖

25、3.1.3修改用戶信息修改成功后,頁面顯示如下圖用戶負ditm用戶IDI用戸肋勺用戶姓呂用戶密碼用戶年齡操作admii編輯刪隱用戶負ditm用戶IDI用戸肋勺用戶姓呂用戶密碼用戶年齡操作admii編輯刪隱圖3.1.3修改后用戶信息4.1.4刪除用戶點擊“刪除”按鈕,刪除用戶姓名為“a”,即刪除。4.1.5查詢用戶查詢某用戶信息,查詢結果如圖:圖3-7用戶信息圖3-7用戶信息曲戶:丘血曲|PtD|admin用戶山用戶姓考用戶密帶曲戶行齡操作圖3.1.5圖3.1.5查詢結果4.2結果分析本次課程設計基本達到了任務要求,用戶在登錄界面登錄后,經(jīng)過運行和調(diào)試能夠成功的注冊、登陸,登陸成功后,會列出所有

26、用戶的記錄信息。最后登陸對用戶信息進行添加,刪除,修改以及最后進行查詢,都達到了預期的結果,如3.1中設計結果的運行和所得出的視圖。同時設計過程中依然存在許多不足,主要是對開發(fā)工具的不能熟練掌握和功能的運用,從而導致用戶界面不夠好,編程和運行時出現(xiàn)了些問題。用jsp開發(fā)和java語言來進行編程以及對開發(fā)工具Myeclipse的使用得到了添加,刪除,修改以及查詢最終得到了用戶界面基本符合課程設計的要求。第5章設計體會與小結通過近兩個星期的軟件開發(fā)工具的課程設計,讓我學到了很多東西,尤其是讓我學會了使用JSP的開發(fā)和進一步熟悉和掌握了java語言的編程以及對開發(fā)工具Myeclipse的使用。在這次

27、課程設計中,經(jīng)過指導老師近兩個星期的講解,不斷的豐富我們軟件開發(fā)工具的知識,讓我受益匪淺同時也檢驗了我所學習的知識,重要的是讓我在平時中沒有理解和掌握的東西有了進一步深入的理解。在設計過程中,我也遇到了很多問題和困難,在與同學們相互探討,相互學習的過程中讓我逐漸掌握了解決這些困難的技巧。我覺得課程設計,主要在于通過理論與實際的結合,提高我們平時課堂中學不到的東西,如何理論聯(lián)系實際。通過實踐可以我意識到了的課堂學習與實際工作學習的差距,平時我們更應該去好好學習去掌握每個知識點才能為我們的實際動手能力打下良好的基礎。本次課程設計我深深的感受到平時學習中存在的不足,讓我體會深刻,在以后的學習中我們應

28、更加努力。課程設計過程中我的實際能力不好,因此碰到很多問題,通過對問題的解決我的動手能力才慢慢開始熟練起來。只有理論聯(lián)系實際才能出真知,在今后的學習過程中我將繼續(xù)努力去熟練掌握我們所學的課堂知識,在實際中的運用過程中才能發(fā)揮自如。兩個星期的學習讓我學到了很多,感受也很深,做任何事都要一步步的熟練掌握從無到有,才能得出想要的結果和成果。今后我將繼續(xù)好好學習。參考文獻軟件工程方法與實踐,竇萬峰,機械工業(yè)出本社,2010年7月數(shù)據(jù)庫原理與應用,夏冰冰,國防工業(yè)出版社,2009.12軟件工程概論,衛(wèi)紅春,清華大學出版社,2007.9附錄:部分源代碼packagecom.softeem.dto;/*ve

29、rsion1122author姜貝*/publicclassUserDTOprivateintuserId;privateStringuserName;privateStringuserPass;privateStringuserSex;privateintuserAge;privateStringuserEmail;publicUserDTO()publicintgetUserId()returnuserId;publicvoidsetUserId(intuserId)this.userId=userId;publicStringgetUserName()returnuserName;pub

30、licvoidsetUserName(StringuserName)this.userName=userName;publicStringgetUserPass()returnuserPass;publicvoidsetUserPass(StringuserPass)this.userPass=userPass;publicStringgetUserSex()returnuserSex;publicvoidsetUserSex(StringuserSex)this.userSex=userSex;publicintgetUserAge()returnuserAge;publicvoidsetU

31、serAge(intuserAge)this.userAge=userAge;publicStringgetUserEmail()returnuserEmail;publicvoidsetUserEmail(StringuserEmail)this.userEmail=userEmail;OverridepublicStringtoString()returnUserDTOuserAge=+userAge+,userEmail=+userEmail+,userId=+userId+,userName=+userName+,userPass=+userPass+,userSex=+userSex

32、+;packagecom.softeem.servlet;importjava.io.IOException;importjavax.servlet.ServletException;importjavax.servlet. HYPERLINK http:/http.HttpServlet http.HttpServlet;importjavax.servlet. HYPERLINK http:/http.HttpServletRequest http.HttpServletRequest;importjavax.servlet. HYPERLINK http:/http.HttpServle

33、tResponse http.HttpServletResponse;importcom.softeem.dao.UserDAO;importcom.softeem.dto.UserDTO;/*version1122author姜貝*/publicclassLoginUserCheckextendsHttpServletpublicLoginUserCheck()super();publicvoiddestroy()super.destroy();/JustputsdestroystringinlogpublicvoiddoGet(HttpServletRequestrequest,HttpS

34、ervletResponseresponse)throwsServletException,IOException/接收從頁面?zhèn)鬟^來的數(shù)據(jù)注意/第一點:頁面表單里面的name要和servlet里面的name要一樣/第二點:如果是int類型的話那么就需要轉型String-intStringusername=request.getParameter(username);Stringuserpass=request.getParameter(userpass);/將接收到的值復制給user對象通過set方法UserDTOuser=newUserDTO();user.setUserName(usern

35、ame);user.setUserPass(userpass);UserDAOdao=newUserDAO();/將登陸的用戶名和密碼與數(shù)據(jù)庫進行校驗如果存在記錄那么就返回一個true值然后就跳轉到用戶管理頁面/如果返回值為false那么就往登陸頁面跳轉同時給出提示booleanflag=dao.checkLoginuser(user);if(flag=true)request.getSession().setAttribute(user,user);request.getRequestDispatcher(/servlet/UserManager).forward(request,respo

36、nse);elserequest.setAttribute(msg,用戶名或者密碼錯誤);request.getRequestDispatcher(/login.jsp).forward(request,response);publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOExceptiondoGet(request,response);publicvoidinit()throwsServletExceptionackagecom.softeem.dao

37、;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;importjava.util.ArrayList;importcom.softeem.dto.UserDTO;/*version1122author姜貝*/publicclassUserDAO/*/privateConnectionconn;privateStatementst;privateResultSetrs;pr

38、ivateStringsql;/*增加*paramuser*/publicvoidadd(UserDTOuser)conn=DBConnection.getConnection();tryst=conn.createStatement();sql=insertintotb_user(userName,userPass,userAge)values(+user.getUserName()+,+user.getUserPass()+,+user.getUserAge()+);intm=st.executeUpdate(sql);if(m!=0)System.out.println(添加成功);ca

39、tch(SQLExceptione)/TODOAuto-generatedcatchblocke.printStackTrace();/*修改*paramuser*/publicvoidupdate(UserDTOuser)conn=DBConnection.getConnection();tryst=conn.createStatement();sql=updatetb_usersetuserName=+user.getUserName()+,userPass=+user.getUserPass()+,userAge=+user.getUserAge()+whereuserId=+user.

40、getUserId().,+;intm=st.executeUpdate(sql);if(m!=0)System.out.println(修改成功);catch(SQLExceptione)/TODOAuto-generatedcatchblocke.printStackTrace();/*刪除*paramn*/publicvoiddelete(intn)conn=DBConnection.getConnection();tryst=conn.createStatement();sql=deletefromtb_userwhereuserId=+n+intm=st.executeUpdate(

41、sql);if(m!=0)System.out.println(刪除成功);catch(SQLExceptione)/TODOAuto-generatedcatchblocke.printStackTrace();/*查詢所有*return*/publicArrayListselectAll()ArrayListlist=newArrayList();conn=DBConnection.getConnection();tryst=conn.createStatement();sql=select*fromtb_user;rs=st.executeQuery(sql);while(rs.next

42、()UserDTOuser=newUserDTO();user.setUserId(rs.getInt(userId);user.setUserName(rs.getString(userName);user.setUserPass(rs.getString(userPass);user.setUserAge(rs.getInt(userAge);list.add(user);catch(SQLExceptione)e.printStackTrace();returnlist;/*根據(jù)ID進行查找*paramn*return*/publicUserDTOselectById(intn)User

43、DTOuser=newUserDTO();conn=DBConnection.getConnection();tryst=conn.createStatement();sql=select*fromtb_userwhereuserId=+n+;rs=st.executeQuery(sql);while(rs.next()user.setUserId(rs.getInt(userId);user.setUserName(rs.getString(userName);user.setUserPass(rs.getString(userPass);user.setUserAge(rs.getInt(

44、userAge);catch(SQLExceptione)e.printStackTrace();returnuser;/*根據(jù)不同的屬性值進行查找*paramproperty*paramvalue*return*/publicArrayListselectByProperty(Stringproperty,Stringvalue)ArrayListlist=newArrayList();conn=DBConnection.getConnection();PreparedStatementpst=null;tryif(property.equals()|property=null|value.

45、equals()|value=null)sql=select*fromtb_user;pst=conn.prepareStatement(sql);elsesql=select*fromtb_userwhere+property+likepst=conn.prepareStatement(sql);pst.setString(1,%+value+%);System.out.println(sql);rs=pst.executeQuery();while(rs.next()UserDTOuser=newUserDTO();user.setUserId(rs.getInt(userId);user.setUserName(rs.getString(userName);user.setUserPass(rs.getString(userPass);user.setUserAge(rs.getInt(userAge);list.add(user);catch(SQLExceptione)e.printStackTrace();returnlist;/*檢驗登錄用戶*paramuser*re

溫馨提示

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

評論

0/150

提交評論