版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、軟 件 學(xué) 院課程設(shè)計報告書課程名稱 javaee 課程設(shè)計 設(shè)計題目 個人財務(wù)系統(tǒng) 專業(yè)班級 軟件工程 學(xué) 號 xxxxxxxxx07 姓 名 xxxxx 指導(dǎo)教師 姜彥吉 2011 年 12 月1 設(shè)計時間2011年12月12日12月16日2 設(shè)計目的javaee課程設(shè)計是對所學(xué)javaee與中間件課程的小結(jié),是提高學(xué)生對所學(xué)知識綜合應(yīng)用能力的一種方式,是集中實(shí)踐性環(huán)節(jié)之一。要求同學(xué)們對課程中所學(xué)習(xí)到的知識綜合運(yùn)用,開發(fā)有一定規(guī)模的java web程序。3設(shè)計任務(wù)設(shè)計個人帳務(wù)管理系統(tǒng),要求用戶以合法的身份登錄后可以對系統(tǒng)進(jìn)行操作,用戶可以查看,添加,刪除和計算某段時間內(nèi)帳務(wù)的收入和支出信息
2、等。帳務(wù)信息包括收入和支出兩種,還有日期和備注。4 設(shè)計內(nèi)容 4.1 設(shè)計題目個人財務(wù)管理系統(tǒng) 4.1.1系統(tǒng)功能要求用只有擁有合法身份才能登錄系統(tǒng),用以合法身份登錄后可以產(chǎn)看帳務(wù)信息、添加帳務(wù)信息、刪除帳務(wù)信息、分別統(tǒng)計某個時間段內(nèi)的收入和支出總額。4.1.2 數(shù)據(jù)庫存儲要求 數(shù)據(jù)的存儲要求:收入數(shù)額,支出數(shù)額,備注,日期4.1.3數(shù)據(jù)庫的設(shè)計 表1(數(shù)據(jù)存儲要求)列名稱數(shù)據(jù)類型長度idbigint8incomemoneymoney8costmoneymoney8recordvarchar50timevarchar8圖1(數(shù)據(jù)庫存儲數(shù)據(jù))4.1.4系統(tǒng)構(gòu)造關(guān)系登陸窗口 no密碼yes操作界面
3、 查詢保存計算帳目刪除圖2(jsp頁面構(gòu)造)jsp頁面?zhèn)鬟f參數(shù)調(diào)用servlet類參數(shù)計算方法servlet刪除方法servlet查詢方法servlet保存方法servlet刪除方法dao類查詢方法dao類保存方法dao類計算方法dao類圖3(java類功能調(diào)用)4.2 jsp 頁面設(shè)計4.2.1登錄界面 圖4(登錄界面)代碼如下:<form action="servlet/loginservlet" method="post"><center>歡迎登陸個人財務(wù)統(tǒng)計系統(tǒng)!</center><center>
4、用戶名稱:<input type="text" name="username" value=""><br></center><center>用戶密碼:<input type="text" name="password" value=""><br></center> <center><input type="submit" name="subimt
5、" value="登錄"><input type="reset" name="reset" value="重置"> </center></form> 4.2.2登錄成功界面 圖5(登錄成功查詢界面) 代碼如下: <% string username=(string)session.getattribute("name"); if(username!=null)%> <center>歡迎登錄:<%=username
6、%></center> <% %> <form action="servlet/accountcontroller?arg=2" method="post"> 增加帳目明細(xì)請輸入: <center> 收入數(shù)額:<input type="text" name="incomemoney"value=""><br> 支出數(shù)額:<input type="text" name="costmon
7、ey"value=""><br> 附加備注:<input type="text" name="record"value=""><br> 輸入日期:<input type="text" name="time"value=""><br> <input type="submit" name="submit1" value="保存&q
8、uot;> <br><br> </center> </form> <form action="servlet/accountcontroller?arg=1" method="post"> 查詢帳目明細(xì)請點(diǎn)擊: <center><input type="submit" name="submit2" value="查詢"></center><br> </form> 刪除帳目
9、信息請如下: <form action="servlet/accountcontroller?arg=3" method="post"> 請輸入要 刪除帳目的日期:<center> <input type="text" name="time"> </center> <center> <input type="submit" name="submit3" value="刪除"></
10、center> </form> <form action="servlet/accountcontroller?arg=4" method="post"> <center> 起始id號:<input type="text" name="id1"value=""><br></center> <center> 終止id號:<input type="text" name="id
11、2"value=""><br></center> <center> <input type="submit"name="submit4"value="計算"> </center> </form>4.2.3查詢結(jié)果界面圖6(查詢結(jié)果界面)4.3java方法設(shè)計4.3.1servlet類控制增刪改操作的servlet類代碼設(shè)計如下:public class accountcontroller extends httpservlet
12、protected void doget(httpservletrequest request, httpservletresponse response)throws servletexception, ioexception dopost(request,response);protected void dopost(httpservletrequest request, httpservletresponse response)throws servletexception, ioexception int arg=integer.parseint(request.getparamete
13、r("arg"); switch(arg) case 1:this.findallaccount(request,response); break; case 2:this.saveallaccount(request,response); break; case 3:this.deletesomeaccount(request,response); break; case 4:this.caculateaccount(request,response); break; protected void caculateaccount(httpservletrequest re
14、quest, httpservletresponse response) throws servletexception, ioexception int a=0;int b=0; a=integer.parseint(request.getparameter("id"); b=integer.parseint(request.getparameter("id"); accountdao accountdao=new accountdao(); list list2=accountdao.caculateaccount(a,b); request.set
15、attribute("result",list2); requestdispatcher rdt1=request.getrequestdispatcher("/result1.jsp"); rdt1.forward(request, response);public void findallaccount(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception accountdao accountdao=new acco
16、untdao(); list list=accountdao.findallaccount(); request.setattribute("accounts", list); requestdispatcher rdt=request.getrequestdispatcher("/result.jsp"); rdt.forward(request, response); public void saveallaccount(httpservletrequest request, httpservletresponse response) throws
17、servletexception, ioexception request.setcharacterencoding("gbk"); double incomemoney=0.0; double costmoney=0.0; incomemoney=double.parsedouble(request.getparameter("incomemoney"); costmoney=double.parsedouble(request.getparameter("costmoney"); string record=(string)req
18、uest.getparameter("record"); string time=(string)request.getparameter("time"); myaccount myaccount=new myaccount(); myaccount.setincomemoney(incomemoney); myaccount.setcostmoney(costmoney); myaccount.setrecord(record); myaccount.settime(time); accountdao accountdao=new accountdao
19、(); try accountdao.saveallaccount(myaccount); catch(exception e) e.printstacktrace(); this.findallaccount(request,response); public void deletesomeaccount(httpservletrequest request, httpservletresponse response) throws servletexception, ioexception request.setcharacterencoding("gbk"); str
20、ing time=request.getparameter("time"); myaccount myaccount=new myaccount(); myaccount.settime(time); accountdao accountdao=new accountdao(); try accountdao.deletesomeaccount(myaccount); catch(exception e) e.printstacktrace(); this.findallaccount(request, response); 密碼驗(yàn)證的servlet類的代碼如下:publi
21、c class loginservlet extends httpservlet public void doget(httpservletrequest req, httpservletresponse resp)throws servletexception, ioexception doget(req,resp);public void dopost(httpservletrequest req, httpservletresponse resp)throws servletexception, ioexception string username=req.getparameter(&
22、quot;username"); string password=req.getparameter("password"); user user=new user(); user.setusername(username); user.setpassword(password); httpsession session=req.getsession(); string forward="" if(userservice.checklogin(user) forward="/search.jsp" session.setatt
23、ribute("name", username); else forward="/error.jsp" requestdispatcher rd=req.getrequestdispatcher(forward); rd.forward(req,resp); 4.3.2dao類密碼驗(yàn)證的dao類代碼設(shè)計如下:public class userservice public static boolean checklogin(user user) if(user.getusername().equals("lb")&&us
24、er.getpassword().equals("123") return true; return false; 帳務(wù)添加查詢計算的dao類代碼設(shè)計如下:public class accountdao private connection conn; public list findallaccount() conn=dbcon.getconnection(); string listsql="select * from myaccount" list list=new arraylist(); try preparedstatement psmt=c
25、onn.preparestatement(listsql); resultset rs=psmt.executequery(); while(rs.next() myaccount account=new myaccount(); account.setid(rs.getint(1); account.setincomemoney(rs.getdouble(2); account.setcostmoney(rs.getdouble(3); account.setrecord(rs.getstring(4); account.settime(rs.getstring(5); list.add(a
26、ccount); mit(); return list; catch(exception e) e.printstacktrace(); finally if(conn!=null) try conn.close(); catch(sqlexception e) e.printstacktrace(); return list; public boolean saveallaccount(myaccount account)throws exception conn=dbcon.getconnection(); string listsql="insert into myaccoun
27、t values(?,?,?,?)" preparedstatement psmt=conn.preparestatement(listsql); try psmt.setdouble(1, account.getincomemoney(); psmt.setdouble(2, account.getcostmoney(); psmt.setstring(3, account.getrecord(); psmt.setstring(4, account.gettime(); psmt.executeupdate(); mit(); return true; catch(sqlexce
28、ption e) conn.rollback(); e.printstacktrace(); return false; public boolean deletesomeaccount(myaccount account)throws exception conn=dbcon.getconnection(); string listsql="delete from myaccount where time=? " preparedstatement psmt=conn.preparestatement(listsql); try psmt.setstring(1, acc
29、ount.gettime(); psmt.executeupdate(); mit(); return true; catch(sqlexception e) conn.rollback(); e.printstacktrace(); return false; public list caculateaccount(int x,int y) conn=dbcon.getconnection(); double incometotal=0.0; double costtotal=0.0; int i=0; list list2=new arraylist(); try myaccount ac
30、count=new myaccount(); for( i=x;i<=y;i+) string listsql1="selct incomemoney from myaccount where id=i" preparedstatement psmt1=conn.preparestatement(listsql1); resultset rs1=psmt1.executequery(); psmt1.execute(); incometotal=incometotal+rs1.getdouble(2); string listsql2="select cos
31、tmoney from myaccount where id=i" preparedstatement psmt2=conn.preparestatement(listsql2); resultset rs2=psmt2.executequery(); psmt2.execute(); costtotal=costtotal+rs2.getdouble(3); mit(); account.setincomemoney(incometotal); account.setcostmoney(costtotal); list2.add(account); return list2; catch(sqlexception e) e.printstacktrace(); return list2; 4.3.3數(shù)據(jù)庫連接類數(shù)據(jù)庫連接代碼如下:public class dbcon public static connection getconnection() string url="jdbc:microsoft:sqlserver:/localhost:1433;databasename=mya
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024通風(fēng)防排煙工程合同范本
- 2025年度蔬菜基地土地租賃及種植技術(shù)支持合同3篇
- 家用運(yùn)動app助力家庭健身計劃實(shí)施
- 揭秘數(shù)據(jù)科技如何改變辦公場景
- 2025招聘網(wǎng)企業(yè)刊登合同
- 家庭醫(yī)生制度下的醫(yī)患溝通技巧培訓(xùn)
- 二零二五年度超詳細(xì)金融資產(chǎn)證券化合同(上)3篇
- 二零二五年度深圳教育培訓(xùn)合同2篇
- 2025年度授權(quán)委托書(含文化產(chǎn)業(yè)發(fā)展與授權(quán))3篇
- 重慶交通職業(yè)學(xué)院《基礎(chǔ)化學(xué)實(shí)驗(yàn)B》2023-2024學(xué)年第一學(xué)期期末試卷
- 眼科優(yōu)勢病種中醫(yī)診療方案
- 統(tǒng)編版六年級語文上冊專項(xiàng) 專題11文言文閱讀-原卷版+解析
- 高中數(shù)學(xué)聯(lián)賽歷年真題分類匯編解析(高分強(qiáng)基必刷)
- 高中數(shù)學(xué)筆記總結(jié)高一至高三很全
- 011(1)-《社會保險人員減員申報表》
- 2024年工程部工作總結(jié)與計劃
- 電廠C級檢修工藝流程
- 刑事案件律師會見筆錄
- 金屬的拉伸實(shí)驗(yàn)(實(shí)驗(yàn)報告)
- 鍋爐定期檢驗(yàn)
- 普通話課件(完整版)
評論
0/150
提交評論