![畢業(yè)設(shè)計方案用戶管理系統(tǒng)的設(shè)計方案與開發(fā)_第1頁](http://file4.renrendoc.com/view/68d63b4c85ef7dd6cbd34da7e7ccae26/68d63b4c85ef7dd6cbd34da7e7ccae261.gif)
![畢業(yè)設(shè)計方案用戶管理系統(tǒng)的設(shè)計方案與開發(fā)_第2頁](http://file4.renrendoc.com/view/68d63b4c85ef7dd6cbd34da7e7ccae26/68d63b4c85ef7dd6cbd34da7e7ccae262.gif)
![畢業(yè)設(shè)計方案用戶管理系統(tǒng)的設(shè)計方案與開發(fā)_第3頁](http://file4.renrendoc.com/view/68d63b4c85ef7dd6cbd34da7e7ccae26/68d63b4c85ef7dd6cbd34da7e7ccae263.gif)
![畢業(yè)設(shè)計方案用戶管理系統(tǒng)的設(shè)計方案與開發(fā)_第4頁](http://file4.renrendoc.com/view/68d63b4c85ef7dd6cbd34da7e7ccae26/68d63b4c85ef7dd6cbd34da7e7ccae264.gif)
![畢業(yè)設(shè)計方案用戶管理系統(tǒng)的設(shè)計方案與開發(fā)_第5頁](http://file4.renrendoc.com/view/68d63b4c85ef7dd6cbd34da7e7ccae26/68d63b4c85ef7dd6cbd34da7e7ccae265.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
個人收集整理資料, 僅供交流學(xué)習(xí), 勿作商業(yè)用途個人收集整理資料, 僅供交流學(xué)習(xí), 勿作商業(yè)用途XXXX大學(xué)XX學(xué)院畢業(yè)設(shè)計報告書課程名稱:軟件開發(fā)畢業(yè)設(shè)計題目:用戶管理系統(tǒng)的設(shè)計與開發(fā)系名:XXXX系專業(yè)班級:XXXX專業(yè)XXXX班姓名:學(xué)號:指導(dǎo)教師:年月日課程設(shè)計任務(wù)書學(xué)生姓名:專業(yè)班級:指導(dǎo)教師:工作單位:設(shè)計題目:用戶管理系統(tǒng)的設(shè)計與開發(fā)初始條件:了解軟件工程基本知識,掌握JAVA編程基礎(chǔ),了解基本的軟件開發(fā)工具。要求完成的主要任務(wù):個人收集整理資料, 僅供交流學(xué)習(xí), 勿作商業(yè)用途功能:用戶可以注冊,然后登陸,有錯誤提示等。登陸成功以后,會列出所有用戶的記錄信息。登陸用戶可對記錄進行增加、修改、刪除、查詢等操作。技術(shù):jsp+servlet+tomcat6.0+mysql設(shè)計報告撰寫格式要求:一、課程設(shè)計說明書〈或報告書)正文內(nèi)容【設(shè)計題目】用戶管理系統(tǒng)的設(shè)計與開發(fā)【開發(fā)環(huán)境】windowsXP【開發(fā)工具】MyEclipse7.0,tomcat6.0,MySQL【完成時間】【設(shè)計思想】描述確定設(shè)計內(nèi)容后,自己如何思考的、確定設(shè)計的方案是什么?打算如何實現(xiàn)【設(shè)計過程及設(shè)計步驟】將設(shè)計的步驟及實施過程分步總結(jié)寫出來【測試運行】描述對于自己給定的數(shù)據(jù),運行后的結(jié)果如何?【評價與修訂】對自己設(shè)計內(nèi)容及結(jié)果進行全面評價描述,包括:創(chuàng)造性、獨特性、滿意程度及不足處,并提出改進意見;【設(shè)計體會】總結(jié)本次實訓(xùn)經(jīng)驗、教訓(xùn)、收獲、體會,為今后的實踐環(huán)節(jié)學(xué)習(xí)打好基礎(chǔ)【參考文獻】羅列在設(shè)計過程中查閱的文獻名稱時間安排:目錄第1章需求分析11.1設(shè)計題目12設(shè)計要求13設(shè)計任務(wù)11.4開發(fā)環(huán)境與工具2第2章概要設(shè)計21設(shè)計思想22系統(tǒng)功能設(shè)計2第3章詳細設(shè)計3第4章設(shè)計運行結(jié)果與分析114.1運行結(jié)果11個人收集整理資料, 僅供交流學(xué)習(xí), 勿作商業(yè)用途4.1.1用戶登錄界面114.1.2添加用戶124.1.3修改用戶信息124.1.4刪除用戶134.1.5查詢用戶134.2結(jié)果分析14第5章設(shè)計體會與小結(jié)15參考文獻15附錄 14第1章需求分析1.1設(shè)計題目用戶管理系統(tǒng)的設(shè)計與開發(fā)。1.2設(shè)計要求(1>T解軟件工程基本知識。(2>掌握JAVA編程基礎(chǔ)。(3>T解基本的軟件開發(fā)工具。1.3設(shè)計任務(wù)(1>設(shè)計一個用戶管理系統(tǒng),用戶能夠注冊、登陸,登陸成功后,會列出所有用戶的記錄信息。<2)登錄用戶能夠?qū)τ涗涍M行增加、刪除、修改,查詢操作。1.4開發(fā)環(huán)境工具WindowsXP系統(tǒng),MyEclipse7.0,tomcat6.0,MySQL等開發(fā)工具。第2章概要設(shè)計2.1設(shè)計思想本次課程設(shè)計通過使用MYSQL,Myeclisp7.0,Tomcat6.0等軟件,首先設(shè)計一個用戶管理系統(tǒng),以達到用戶能夠注冊、登陸,登陸成功后,會列出所有用戶的記錄信息的目的最后能實現(xiàn)登錄用戶能夠?qū)τ涗涍M行增加、刪除、修改,查詢操作等工作。首先利用Mvsql軟件創(chuàng)建數(shù)據(jù)庫,命名為db.user;然后,在db_user中創(chuàng)建表,命名為tb_user,在表中創(chuàng)建4個字段:用戶編號<userld),用戶姓名<userName),用戶密碼<userPass),用戶年齡
個人收集整理資料, 僅供交流學(xué)習(xí), 勿作商業(yè)用途<userAge),并且將用戶編號設(shè)置為主鍵。進行數(shù)據(jù)庫連接,最后在Myeclisp7.0工具中去運行編程結(jié)果以達到用戶登錄進行增加、刪除、修改,查詢操作。2.2系統(tǒng)功能設(shè)計2.2系統(tǒng)功能圖第3章詳細設(shè)計3.1創(chuàng)建數(shù)據(jù)庫,在數(shù)據(jù)庫中建立用戶信息表:Createdatabasedb_userUsedb_userkey,userNameCreatetabletb_user<userldintnotnullprimarykey,userNamevarchar(20>,userPassvarchar(50>,userAgeint)mysql>createtabletb_user-> userld intnotnullauto_increnent,一〉 userNane uarchar<S>,-> userPass uarchar<20>,-> userAge int-> ppinarykey(userid)->>;QueryOK,0rowsaffected<0.28sec>mysql>inser-tintotb_user<uset'Name,usei*Pass,userAge>values(^admin0,°123456'p,21>;QueryOK,1rowaffected<0.12sec>
個人收集整理資料, 僅供交流學(xué)習(xí), 勿作商業(yè)用途2創(chuàng)建數(shù)據(jù)庫連接:importimportimportpublicjava.sql.Connection。importimportimportpublicjava.sql.DriverManagerojava.sql.SQLException。classDBConnection{privateprivateprivateprivatestaticstaticstaticstaticStringdriverName二"com.mysq1?jdbc.Driver"。privateprivateprivateprivatestaticstaticstaticstaticStringuserNameoStringuserPassoStringurl二"jdbc:mvsql://localhost:3306/db_user/z。publicstaticConnectiongetConnection(String_url,String_userName,String_userPass>{userName二_user\ameouserPass二userPass。url二_urloConnectionconn二nullotry{Class?for'ame(dtiverMame〉。conn二DriverManager.getConnectiouserName,userPass>o}catch(ClassNotFoundExceptione>{//TODOAuto-generatedcatchblocke.printStackTrace(>。}catch(SQLExceptione>{//TODOAuto-generatedcatchblocke.printStackTrace(>。}returnconn。}publicstaticConnectiongetConnection(>{returngetConnection(url,〃root〃,"123456"〉。}publicstaticvoidcloseConnection(Connectionconn>{if(conn!=null>{try{conn.close(>。}catch(SQLExceptione>{//TODOAuto-generatedcatchblocke.printStackTrace(>o個人收集整理資料, 僅供交流學(xué)習(xí), 勿作商業(yè)用途個人收集整理資料, 僅供交流學(xué)習(xí), 勿作商業(yè)用途}3用戶主要功能的實現(xiàn):importjava.sql.Connection。importjava?sql.PreparedStatement。importjava.sql.ResuItSet。importjava?sql.SQLException。importjava,sqLStatement。importjava.util.ArrayList。importcom.softeem.dto.UserDTOopublicclassUserDAO{privateConnectionconn。privateStatementst。privateResultSetrsoprivateStringsqlopublicvoidadd(UserDTOuser>{conn二DBConnection.getConnection(>otry{st二conn.createStatement(>。sql二"insettintotb_user(userName,userPass,userAge>values('"+user.getUserName(>+"、J"+user,getUserPass(>+ "+user,getUserAge(>+intm二st.executeUpdate(sql>oif(m!=0>{System,out.println(z/添加成功〃〉。}DBConnection.closeConnection(conn〉。}catch(SQLExceptione>{//TODOAuto^generatedcatchblocke.printStackTrace(>。}}publicvoidupdate(UserDTOuser>{conn二DBConnection.getConnection(〉。try{st二conn.createStatement(>。sql二/zupdatetb_usersetuserName二'"+user.getUserName(>+userPass二'〃+user.getUserPass(>+,userAge=個人收集整理資料, 僅供交流學(xué)習(xí), 勿作商業(yè)用途+user?getUserAge(>+whereuserid二'"+
user,getUserldO〃十 ointm二st.executeUpdate(sql>oif(m!二0>{System,out.println(z/修改成功〃〉。}}catch(SQLExceptione>{//TODOAuto^generatedcatchblocke.printStackTrace(>。}}publicvoiddelete(intn>{conn二DBConnection.getConnection(>otry{st二conn.createStatement(>。sql二"deletefromtb_userwhereuserid二'〃+n+ :intm二st.executeUpdate(sql>。if(m!二0>{System,out.println(/z刪除成功〃〉。}}catch(SQLExceptione>{//TODOAuto^generatedcatchblocke.printStackTrace(>。}}publicArrayList〈UserDT0>selectAll(>{ArrayList〈UserDT0>list二newArrayList〈UserDT0>(>oconn二DBConnection.getConnection(>otry{st二conn.createStatement(>。sql二"select*fromtb_user"。rs二st?executeQuery(sql>owhile(rs.next(>〉{UserDTOuser=newUserDT0(>ouser,setUserld(rs?getlnt("userid"〉〉。user.setUserName(rs?getSt:ring(〃userName〃>〉。user.setUserPass(rs.getSt:ring("userPass"〉〉。user.setUserAge(rs?getlnt("userAge〃>>。list.add(user>o}}catch(SQLExceptione>{個人收集整理資料, 僅供交流學(xué)習(xí), 勿作商業(yè)用途e.printStackTrace(>o}:returnlist。}publicUserDTOselectById(intn>{UserDTOuser=newUserDTO(>oconn二DBConnection.getConnection(〉。try{st二conn.createStatement(>。sql二"select*fromtb_userwhereuserid二'〃+n+〃ors二st.executeQuery(sql>owhile(rs.next(>〉{user.setUserld(rs.getlnt("userlcT〉〉。user?setUserName(rs.getString(,zuserName/z>>ouser.setUserPass(rs.getString(〃userPass">〉。user?setUserAge(rs?getlnt(“userAge〃>>。}}catch(SQLExceptione>{e.printStackTrace(>o}:returnuser。}publicArrayList〈UserDT0>selectByProperty(Stringproperty,Stringvalue>{ArrayList〈UserDT0>list二newArrayList〈UserDTO(>oconn二DBConnection.getConnection(〉。PreparedStatementpst二null。try{if(property.equals(〃">|property二二null|value.equals("">value==null>{sql二"select*fromtb_user"。pst二conn.preparestatement(sql〉。}else{sql二"select*fromtb_userwhere"+property+z,like?〃。pst二conn.preparestatement(sql〉。pst.setString(l, +value+"%">。}System.out.println(sql>。rs二pst?executeQueryO。個人收集整理資料, 僅供交流學(xué)習(xí), 勿作商業(yè)用途while(rs.next(>〉{UserDTOuser=newUserDTO(>ouser,setUserid(rs?getlnt("userid"〉〉。user.setUserName(rs?getString(z/userNamez,>>ouser.setUserPass(rs.getSt:ring("userPass"〉〉。user.setUserAge(rs?getlnt(〃userAge">>。list.add(user>o}}catch(SQLExceptione>{e.printStackTrace(>。}:returnlist。}publicbooleancheckLoginuser(UserDTOuser>{booleanflag二false。conn二DBConnection.getConnection(>otry{st二conn.createstatement(〉。//sql二"select*fromtb_userwhereuserName二'"+//user,getUserName(>//+anduserPass二'〃+user,getUserPassO+//查詢滿足userName和userPass條件的記錄sql二"selectcount(*>fromtb_userwhereuserName二'〃+user?getUserName(>+anduserPass二'"+user?getUserPass(>+//sql二"selectuserPassfromtb_userwhereuserName二'z,+user?getUserName(>+z/,//執(zhí)行sql語句rs二st?executeQuery(sql>o//對結(jié)果集進行遍歷如果查詢的記錄條數(shù)大于o則說明數(shù)據(jù)庫存在該條記錄此時改變flag的值while(rs.next(>〉{if(rs.getlnt(1>>0>{flag二trueo}}}catch(SQLExceptione>{e.printStackTrace(>。}returnfIago個人收集整理資料, 僅供交流學(xué)習(xí), 勿作商業(yè)用途個人收集整理資料, 僅供交流學(xué)習(xí), 勿作商業(yè)用途3.4測試過程:publicclassUserDAOTest{@TestpublicvoidtestAdd(>{UserDTOuser=newUserDT0(>ouser,setUsetName("admin"〉。user.setUsetPass("123456"〉。user.setUserAge(43>oUserDAOdao=newUserDAO(>odao.add(user>o}?TestpublicvoidtestUpdate(〉{UserDTOuser=newUserDTO(>ouser.setUserld(l>ouser,setUserName("test"〉。user.setUsetPass("1111111"〉。user.setUserAge(lll>oUserDAOdao=newUserDAO(>odao.update(user>。}@Testpublicvoiddelete(〉{UserDAOdao=newUserDAO(>odao.delete(1〉。}?TestpublicvoidtestSelectAll(〉{UserDAOdao=newUserDAO(>oArrayLisUserDT0>list二dao.selectAll(>。for(inti二0。i〈list.size(>。i++>{System.out.println(list.get(i>.getUserldO++list.get(i>.getUserName(>+"\t"+list.get(i>.getUserPass(>+"\t"+list,get(i>.getUserAge(>〉。}}@TestpublicvoidtestSelectById(>{UserDAOdao=newUserDAO(>o個人收集整理資料, 僅供交流學(xué)習(xí), 勿作商業(yè)用途UserDTOuser=dao.selectById(6>。System.out.printIn(user.toString(>>o}?TestpublicvoidtestCheckLoginuser(>{UserDTOuser=newUserDTO(>ouser,setUserName("Lucy"〉。user.setUserPass("123456"〉。UserDAOdao=newUserDA0(>obooleanflag=dao.checkLoginuser(user>oSystem.out.println(flag〉。}}第4章設(shè)計運行結(jié)果與分析4.1運行結(jié)果4.1.1用戶登錄界面運行l(wèi)ogin,jsp得到的結(jié)果如下:個人收集整理資料, 僅供交流學(xué)習(xí), 勿作商業(yè)用途個人收集整理資料, 僅供交流學(xué)習(xí), 勿作商業(yè)用途用戶名:用戶密碼:I圖3.1.1用戶登陸界面4.1.2添加用戶點擊頁面的增加選項,彈出如下窗口,添加新用戶,用戶名為admin,設(shè)置密碼,用戶年齡。設(shè)置完成后,點擊增加按鈕。添加用戶成功后,顯示頁面如下:用戶名:I用戶密碼:用戶年齡;I圖3.1.2增加用戶4.1.3修改用戶信息點擊頁面的“編輯“按鈕,修改用戶名為”admin“的用戶信息,將其用戶密碼修改為123456c修改頁面如下圖用戶名:|admin用戶密碼:|123466圖3.1.3修改用戶信息修改成功后,頁面顯示如下圖用戶admin查詢|I用戶ID二123456用戶ID用戶姓名用戶名:|admin用戶密碼:|123466圖3.1.3修改用戶信息修改成功后,頁面顯示如下圖用戶admin查詢|I用戶ID二123456用戶ID用戶姓名用戶密碼 用戶年齡 操作1 adtniii23 編輯刪除圖3.1.3修改后用戶信息4.1.4刪除用戶點擊“刪除”按鈕,刪除用戶姓名為,即刪除。4.1.5查詢用戶查詢某用戶信息,查詢結(jié)果如圖:圖3-7用戶信息
圖3.1.5查詢結(jié)果4.2結(jié)果分析本次課程設(shè)計基本達到了任務(wù)要求,用戶在登錄界面登錄后,經(jīng)過運行和調(diào)試能夠成功的注冊、登陸,登陸成功后,會列出所有用戶的記錄信息。最后登陸對用戶信息進行添加,刪除,修改以及最后進行查詢,都達到了預(yù)期的結(jié)果,如3.1中設(shè)計結(jié)果的運行和所得出的視圖。同時設(shè)計過程中依然存在許多不足,主要是對開發(fā)工具的不能熟練掌握和功能的運用,從而導(dǎo)致用戶界面不夠好,編程和運行時出現(xiàn)了些問題。用jsP開發(fā)和java語言來進行編程以及對開發(fā)工具Myec1ipse的使用得到了添加,刪除,修改以及查詢最終得到了用戶界面基本符合課程設(shè)計的要求。第5章設(shè)計體會與小結(jié)通過近兩個星期的軟件開發(fā)工具的課程設(shè)計,讓我學(xué)到了很
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年高中化學(xué)第3章第2節(jié)第1課時自然界中氮的循環(huán)以及氮循環(huán)中的重要物質(zhì)練習(xí)含解析魯科版必修1
- 企劃部年度工作總結(jié)
- 公司市場部主管年終總結(jié)
- 個人年度總工程師工作總結(jié)
- 行政科工作總結(jié)
- 六年級班主任第一學(xué)期工作總結(jié)
- 中班學(xué)期末總結(jié)與反思
- 產(chǎn)權(quán)酒店式公寓委托經(jīng)營管理協(xié)議書范本
- 石材加工合作合同范本
- 出租車買賣合同范本
- 公司市場分析管理制度
- 焊接材料制造工-國家職業(yè)標準(2024版)
- 江西省2024年中考數(shù)學(xué)試卷(含答案)
- 榆神礦區(qū)郭家灘煤礦(700 萬噸-年)項目環(huán)評
- 2024年200MW-400MWh電化學(xué)儲能電站設(shè)計方案
- 余土外運施工方案
- DB32-T 186-2015建筑消防設(shè)施檢測技術(shù)規(guī)程
- 中考英語1600詞匯對照表-(帶音標)
- 虛擬化與云計算技術(shù)應(yīng)用實踐項目化教程 課件全套 陳寶文 項目1-8 虛擬化與云計算導(dǎo)論- 騰訊云服務(wù)
- 2024廣東高壓電工考試電工證考試題模擬試題(全國版)
- JJG 705-2014液相色譜儀行業(yè)標準
評論
0/150
提交評論