javaEE课程设计个人财务管理系统_第1页
javaEE课程设计个人财务管理系统_第2页
javaEE课程设计个人财务管理系统_第3页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件学院课:程设计报告书课程名称JavaEE课程设计设计题目个人财务系统专业班级软件工程学号xxxxxxxxx07姓名xxxxx指导教师姜彦吉2011年12月1设计时间2011年12月12日12月16日2设计目的JavaEE课程设计是对所学JavaEE与中间件课程的小结,是提高学生对所学知识综合应用能力的一种方式,是集中实践性环节之一。要求同学们对课程中所学习到的知识综合运用,开发有一定规模的JavaWeb程序。3设计任务设计个人帐务管理系统,要求用户以合法的身份登录后可以对系统进行操作,用户可以查看,添加,删除和计算某段时间内帐务的收入和支出信息等。帐务信息包括收入和支出两种,还有日期和备注

2、。4设计内容4.1设计题目个人财务管理系统4.1.1系统功能要求用只有拥有合法身份才能登录系统,用以合法身份登录后可以产看帐务信息、添加帐务信息、删除帐务信息、分别统计某个时间段内的收入和支出总额。4.1.2数据库存储要求数据的存储要求:收入数额,支出数额,备注,日期4.1.3数据库的设计表一1(数据存储要求)列名称数据类型长度idbigint8incomemoneymoney8costmoneymoney8recordvarchar50timevarchar8i<1|L£lSontfidm|切0m.Cmujriid_y|r.QLim«d1LOD£口3LSD

3、Oa-hitn'5-0u。字丸O1q.w&rgoal-1-1eom-i-3£UO1-2-34LSDOq_T¥e=3t-ZOUl23K1150Cii±ZUCI141eiflodf2001-4-1TOai口GoIO45114fe1231523'传更123OEJtleJ-iOKKelk2COj4SEE-422001-4-22001-S-lE.ULI11LMSOujKjiJLIl-fe-O图一1(数据库存储数据)4.1.4系统构造关系图一2(jsp页面构造)4.2Jsp页面设计4.2.1登录界面登wr,入ph丹宜芫id忝壬充Ij=h产若称二_nm也

4、=酒勺:图一4(登录界面)代码如下:<formaction="servlet/LoginServlet"method="post"><center>欢迎登陆个人财务统计系统!</center><center>用户名称:<inputtype="text"name-'username"value=""><br></center><center>用户密码:<inputtype="text&qu

5、ot;name-'password"value=""><br></center><center><inputtype-'submit"name='subimt"value="登录"><inputtype="reset"name='reset"value="重置"></center></form>4.2.2登录成功界面欢迎登E1L.入收入斯眄I女出散敏,附加

6、备注,-输入曰朔LCZI击;II1BIBF|悒雄工号:|缰1氏勇:1计#I图一5(登录成功查询界面)代码如下:<%Stringusername=(String)session.getAttribute("name");if(username!=null)%><center>欢迎登录:<%=username%></center><%><formaction="servlet/AccountController?arg=2"method="post">增加帐目明细请输

7、入:<center>收入数额:<inputtype="text"name='incomemoneyvalue=""><br>支出数额:<inputtype="text"name='costmoney"value=""><br>附加备注:<inputtype="text"name='record"value=""><br>输入日期:<inputt

8、ype="text"name='time"value=""><br><inputtype="submit"name-'submitl"value=''保存"><br><br></center></form><formaction="servlet/AccountController?arg=1"method="post">查询帐目明细请点击:&l

9、t;center><inputtype="submit"name='submit2"value=''查询"></center><br></form>删除帐目信息请如下:<formaction="servlet/AccountController?arg=3"method="post">请输入要删除帐目的日期:<center><inputtype="text"name-'time&q

10、uot;></center><center><inputtype-'submit"name="submit3"value-"删除"></center></form><formaction="servlet/AccountController?arg=4"method-'post"><center>起始Id号:<inputtype="text"name-'idT'valu

11、e-""><br></center><center>终止Id号:<inputtype="text"name="id2"value-""><br></center><center><inputtype="submit"name-'submit4"value-"计算"></center></form>4.2.3查询结果界面tit目板入蚣加

12、支持皴物附加符洋fc-l期1lOO.OO-oe-arrsi2001112O-OEO-a20011M3ISO.CO.Oqwer2001-2-3aISO.co_aZOO1-2-35ISO.oo.o2CO1-4-1GISO.oo.02GO1-4-1厂u.0123-02GUi4-2日Li-0123.u2CUi-4f90.C123.C2001-4-210as.o0.Qillmla20U1-&-111g0D02001-&-112120.0d'JhJ2001-5-2图一6(查询结果界面)4.3Jav昉法设计4.3.1Servlet类控制增删改操作的servlet类代码设计如下:pub

13、licclassAccountcontrollerextendsHttpServlet(protectedvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException(doPost(request,response);protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException(intarg=Integer

14、.parseInt(request.getParameter("arg");switch(arg)(case1:this.findAllAccount(request,response);break;case2:this.saveAllAccount(request,response);break;case3:this.deleteSomeAccount(request,response);break;case4:this.caculateAccount(request,response);break;protectedvoidcaculateAccount(HttpSer

15、vletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException(inta=0;intb=0;a=Integer.parseInt(request.getParameter("id");b=Integer.parseInt(request.getParameter("id");AccountDaoaccountDao=newAccountDao();Listlist2=accountDao.caculateAccount(a,b);request.setAt

16、tribute("result",list2);RequestDispatcherrdt1=request.getRequestDispatcher("/Result1.jsp");rdt1.forward(request,response);publicvoidfindAllAccount(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOExceptionAccountDaoaccountDao=newAccountDao();Listlist

17、=accountDao.findAllAccount();request.setAttribute("accounts",list);RequestDispatcherrdt=request.getRequestDispatcher("/Result.jsp");rdt.forward(request,response);publicvoidsaveAllAccount(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOExceptionreque

18、st.setCharacterEncoding("gbk");doubleincomemoney=0.0;doublecostmoney=0.0;incomemoney=Double.parseDouble(request.getParameter("incomemoney");costmoney=Double.parseDouble(request.getParameter("costmoney");Stringrecord=(String)request.getParameter("record");Strin

19、gtime=(String)request.getParameter("time");MyAccountmyAccount=newMyAccount();myAccount.setIncomemoney(incomemoney);myAccount.setCostmoney(costmoney);myAccount.setRecord(record);myAccount.setTime(time);AccountDaoaccountDao=newAccountDao();tryaccountDao.saveAllAccount(myAccount);catch(Except

20、ione)e.printStackTrace();this.findAllAccount(request,response);publicvoiddeleteSomeAccount(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOExceptionrequest.setCharacterEncoding("gbk");Stringtime=request.getParameter("time");MyAccountmyAccount=newMyA

21、ccount();myAccount.setTime(time);AccountDaoaccountDao=newAccountDao();tryaccountDao.deleteSomeAccount(myAccount);catch(Exceptione)e.printStackTrace();this.findAllAccount(request,response);密码验证的Servlet类的代码如下:publicclassLoginServletextendsHttpServlet(publicvoiddoGet(HttpServletRequestreq,HttpServletRe

22、sponseresp)throwsServletException,IOException(doGet(req,resp);publicvoiddoPost(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException(Stringusername=req.getParameter("username");Stringpassword=req.getParameter("password");Useruser=newUser();user.setUsern

23、ame(username);user.setPassword(password);HttpSessionsession=req.getSession();Stringforward-""if(UserService.CheckLogin(user)(forward="/Search.jsp"session.setAttribute("name",username);else(forward="/error.jsp"RequestDispatcherrd=req.getRequestDispatcher(forwar

24、d);rd.forward(req,resp);密码验证的Dao类代码设计如下:publicclassUserService(publicstaticbooleanCheckLogin(Useruser)(if(user.getUsername().equals("lb")&&user.getPassword().equals("123”)(returntrue;returnfalse;帐务添加查询计算的Dao类代码设计如下:publicclassAccountDao(privateConnectionconn;publicListfindAllA

25、ccount()(conn=DBCon.getConnection();StringlistSQL="select*frommyaccount"Listlist=newArrayList();try(PreparedStatementpsmt=conn.prepareStatement(listSQL);ResultSetrs=psmt.executeQuery();while(rs.next()(MyAccountaccount=newMyAccount();account.setld(rs.getlnt(1);account.setIncomemoney(rs.getD

26、ouble(2);account.setCostmoney(rs.getDouble(3);account.setRecord(rs.getString(4);account.setTime(rs.getString(5);list.add(account);mit();returnlist;catch(Exceptione)(e.printStackTrace();finally(if(conn!=null)(try(conn.close();catch(SQLExceptione)(e.printStackTrace();returnlist;publicbooleansaveAllAcc

27、ount(MyAccountaccount)throwsException(conn=DBCon.getConnection();StringlistSQL="insertintomyaccountvalues(?,?,?,?)”;PreparedStatementpsmt=conn.prepareStatement(listSQL);try(psmt.setDouble(1,account.getIncomemoney();psmt.setDouble(2,account.getCostmoney();psmt.setString(3,account.getRecord();psm

28、t.setString(4,account.getTime();psmt.executeUpdate();mit();returntrue;catch(SQLExceptione)conn.rollback();e.printStackTrace();returnfalse;publicbooleandeleteSomeAccount(MyAccountaccount)throwsExceptionconn=DBCon.getConnection();StringlistSQL="deletefrommyaccountwheretime=?"PreparedStatemen

29、tpsmt=conn.prepareStatement(listSQL);trypsmt.setString(1,account.getTime();psmt.executeUpdate();mit();returntrue;catch(SQLExceptione)conn.rollback();e.printStackTrace();returnfalse;publicListcaculateAccount(intx,inty)(conn=DBCon.getConnection();doubleincometotal=0.0;doublecosttotal=0.0;inti=0;Listli

30、st2=newArrayList();try(MyAccountaccount=newMyAccount();for(i=x;i<=y;i+)(StringlistSQL1="selctincomemoneyfrommyaccountwhereid=i"PreparedStatementpsmt1=conn.prepareStatement(listSQL1);ResultSetrs1=psmt1.executeQuery();psmt1.execute();incometotal=incometotal+rs1.getDouble(2);StringlistSQL2

31、="selectcostmoneyfrommyaccountwhereid=i"PreparedStatementpsmt2=conn.prepareStatement(listSQL2);ResultSetrs2=psmt2.executeQuery();psmt2.execute();costtotal=costtotal+rs2.getDouble(3);mit();account.setIncomemoney(incometotal);account.setCostmoney(costtotal);list2.add(account);returnlist2;catch(SQLExceptione)(e.printStackTrace();returnlist2;4.3.3数据库连接类数据库连接代码如下:publicclassDBCon(publicstaticConnectiongetConnection()(Stringurl="jdbc:microsoft:sqlserve

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论