javaEE课程设计个人财务管理系统.docx

上传人:scccc 文档编号:14767387 上传时间:2022-02-17 格式:DOCX 页数:18 大小:99.90KB
返回 下载 相关 举报
javaEE课程设计个人财务管理系统.docx_第1页
第1页 / 共18页
javaEE课程设计个人财务管理系统.docx_第2页
第2页 / 共18页
javaEE课程设计个人财务管理系统.docx_第3页
第3页 / 共18页
javaEE课程设计个人财务管理系统.docx_第4页
第4页 / 共18页
javaEE课程设计个人财务管理系统.docx_第5页
第5页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《javaEE课程设计个人财务管理系统.docx》由会员分享,可在线阅读,更多相关《javaEE课程设计个人财务管理系统.docx(18页珍藏版)》请在三一文库上搜索。

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

2、两种,还有日期和备注。4设计内容4.1设计题目个人财务管理系统4.1.1系统功能要求用只有拥有合法身份才能登录系统,用以合法身份登录后可以产看帐务信息、添加帐 务信息、删除帐务信息、分别统计某个时间段内的收入和支出总额。4.1.2数据库存储要求数据的存储要求:收入数额,支出数额,备注,日期4.1.3数据库的设计表一1 (数据存储要求)列名称数据类型长度idbigi nt8in comem oneymoney8costm oneymoney8recordvarchar50timevarchar8i. d.| ixd oin idni 口工| a k.v isi yI r肝巴il| L im d1

3、1OQoa- ejt nzoai-1-1EQisoco雪弋已口m-1-33L50oq.w &rUO1 -2-34LSDoQ.TV ta-EDO1231BDiZUCI141eIflOdf2001-4-1To123f2COj 4盘a1523耳奇f望口口d FN日o123an C3001-4-2io45Otl-tLEJx201 Il-t- 111oE.ULI11is3ujjKj ULIl-fe-O图一1 (数据库存储数据)4.1.4系统构造关系登陆窗口noyes操作界面保存查询删除计算帐目图一2( jsp页面构造)4.2 Jsp页面设计421登录界面图一4 (登录界面)代码如下:vform acti

4、o n=servlet/Log in Servlet method=postvcen ter欢迎登陆个人财务统计系统! 用户名称:用户密码: v/ce nterv/form4.2.2登录成功界面欧登录11L-I虫如15图一5 (登录成功查询界面)代码如下:欢迎登录: 增加帐目明细请输入:收入数额:支出数额:附加备注:输入日期: v/ce nterv/formvform action=servlet/AccountController?arg=1 method=post查询帐目明细请点击:删除帐目信息请如下:vform acti on=servlet/Acco untCon troller?ar

5、g=3 method-post 请输入要 删除帐目的日期: vform action-servlet/AccountController?arg=4 method=post 起女台 Id号: 终止 Id号: 4.2.3查询结果界面tit 目收入數刼立持教刼附加符注Vi 禾 t_l Hh1lOO. oO- oe- am2001112O- oEO- r二口日七2001133丄 mck c口. 口qwerND口 1 WaISO. co_ aq.iArer-ZOO1-2-35ISO. oth o2CO1 -4 -1GISO. oCL 02GO1-4 -1厂Cj. 0丄 23- 0a.f2GUi4-2P

6、0. 0123. u2CU 丄二4 一!290c123 C2001-4-210o00ill ml a20U1-&-111q氐0002001-&-112120. 0认门JhJ2001-5-2图一6 (查询结果界面)4.3Java方法设计4.3.1Servlet 类控制增删改操作的servlet类代码设计如下:public class Acco un tCo ntroller exte nds HttpServlet protected void doGet(HttpServletRequest request, HttpServletResp onse resp on se) throws Se

7、rvletExcepti on, I OExcepti on doPost(request,resp on se);protected void doPost(HttpServletRequest request, HttpServletResp onse resp onse) throws ServletExcepti on, I OExcepti on int arg=Integer.parseInt(request.getParameter(arg);switch(arg)case 1:this.fi ndAllAcco un t(request,resp on se);break;ca

8、se 2:this.saveAIIAcc oun t(request,resp on se);break;case 3:this.deleteSomeAcco un t(request,resp on se);break;case 4:this.caculateAcco un t(request,resp on se);break;protected void caculateAcco un t(HttpServletRequest request,HttpServletResp onse resp on se)throws ServletExcepti on, I OExcepti onin

9、t a=0;int b=0;a=I nteger.parseI nt(request.getParameter(id);b=I nteger.parseI nt(request.getParameter(id);Acco un tDao acco un tDao=new Acco un tDao();List Iist2=acco un tDao.caculateAcco un t(a,b);request.setAttribute(result,list2);RequestDispatcher rdt仁request.getRequestDispatcher(/Result1.jsp); r

10、dt1.forward(request, resp on se);public void fin dAllAcco un t(HttpServletRequest request, HttpServletResp onse resp onse) throws ServletExcepti on, I OExcepti onAcco un tDao acco un tDao=new Acco un tDao();List list=accou ntDao.fi ndAIIAcco un t();request.setAttribute(acco un ts, list);RequestDispa

11、tcher rdt=request.getRequestDispatcher(/Result.jsp); rdt.forward(request, resp on se);public void saveAllAccount(HttpServletRequest request, HttpServletResponse resp on se)throws ServletExcepti on, I OExcepti onrequest.setCharacterE ncod in g(gbk);double in comem on ey=O.O;double costm on ey=0.0;in

12、comem on ey=Double.parseDouble(request.getParameter(i ncomem on ey);costm on ey=Double.parseDouble(request.getParameter(costm on ey);Stri ng record=(Stri ng)request.getParameter(record);Stri ng time=(Stri ng)request.getParameter(time);MyAcco untmyAcco unt=new MyAcco un t();myAcco un t.set In comem o

13、n ey(i ncomem on ey);myAcco un t.setCostm on ey(costm on ey);myAcco un t.setRecord(record);myAccou nt.setTime(time);Acco un tDao acco un tDao=new Acco un tDao();try acco un tDao.saveAIIAcco un t(myAcco un t);catch(Exceptio n e) e.pri ntStackTrace();this.fi ndAIIAcco un t(request,resp on se);public v

14、oid deleteSomeAcco un t(HttpServletRequest request,HttpServletResp onse resp on se)throws ServletExcepti on, I OExcepti onrequest.setCharacterE ncodi ng(gbk);Stri ng time=request.getParameter(time);MyAcco unt myAcco unt=new MyAcco un t();myAcc oun t.setTime(time);AccountDao accountDao=new AccountDao

15、();try acco un tDao.deleteSomeAcc oun t(myAcc oun t);catch(Excepti on e) e.pri ntStackTrace();this.fi ndAIIAcco un t(request, resp on se);密码验证的Servlet类的代码如下:public class Logi nServlet exte nds HttpServlet public void doGet(HttpServletRequest req, HttpServletResp onse resp) throws ServletExcepti on,

16、I OExcepti on doGet(req,resp);public void doPost(HttpServletRequest req, HttpServletResp onse resp) throws ServletExcepti on, I OExcepti on Stri ng user name=req.getParameter(user name);String password=req.getParameter(password);Useruser =new User();user.setUsername(username);user.setPassword(passwo

17、rd);HttpSession session=req.getSession();Stri ng forward=;if(UserService.CheckLogi n(user)forward=/Search.jsp;sessi on. setAttribute( name, user name);elseforward=/error.jsp;RequestDispatcher rd=req.getRequestDispatcher(forward); rd.forward(req,resp);4.3.2Dao 类密码验证的Dao类代码设计如下:public class UserServic

18、e public static boolean CheckLogin(User user)if(user.getUsername().equals(lb)&user.getPassword().equals(123)return true;return false;帐务添加查询计算的Dao类代码设计如下:public class Acco un tDao private Connection conn;public List fin dAllAccou nt() conn=DBC on .getCo nn ectio n();Stri ng listSQL=select * from myac

19、co un t;List list=new ArrayList();tryPreparedStatement psmt=conn.prepareStatement(listSQL);ResultSet rs=psmt.executeQuery();while(rs. next()MyAccountaccount=new MyAccount();acco un t.setId(rs.getI nt(1);acco un t.set In comem on ey(rs.getDouble(2);accoun t.setCostm on ey(rs.getDouble(3);accoun t.set

20、Record(rs.getStri ng(4);accoun t.setTime(rs.getStri ng(5);Iist.add(acco un t);conn. commit();return list;catch(Exceptio n e)e.pri ntStackTrace();fin allyif(conn!=n ull)tryconn. close();catch(SQLExcepti on e)e.pri ntStackTrace();return list;public boolean saveAIIAccount(MyAccount account)throws Excep

21、tionconn=DBC on .getC onn ectio n();Stri ng listSQL= in sert into myaccou nt values(?,?,?,?);PreparedStateme nt psmt=c onn .prepareStateme nt(listSQL);trypsmt.setDouble(1, acco un t.get In comem on ey();psmt.setDouble(2, acco un t.getCostm on ey();psmt.setStri ng(3, acco un t.getRecord();psmt.setStr

22、i ng(4, accou nt.getTime();psmt.executeUpdate();conn. commit();return true;catch(SQLExceptio n e)conn .rollback。;e.pri ntStackTrace();return false;public boolea n deleteSomeAcco un t(MyAcco unt acco un t)throws Excepti onconn=DBC on .getC onn ectio n();String listSQL=delete from myaccount where time

23、=?;PreparedStateme nt psmt=c onn .prepareStateme nt(listSQL);try psmt.setStri ng(1, acco un t.getTime();psmt.executeUpdate();conn. commit();return true;catch(SQLExcepti on e) conn .rollback。;e.pri ntStackTrace();return false;public List caculateAcco un t(i nt x,i nt y)conn=DBC on .getC onn ectio n()

24、;double in cometotal=0.0;double costtotal=0.0;int i=0;List list2=new ArrayList();tryMyAccountaccount=new MyAccount();for( i=x;i=y;i+)Stri ng listSQL仁selct in comem oney from myacco unt where id=i;PreparedStateme nt psmt1=co nn .prepareStateme nt(listSQL1);ResultSet rs1=psmt1.executeQuery();psmt1.exe

25、cute();in cometotal=in cometotal+rs1.getDouble(2);String listSQL2=select costmoney from myaccount where id=i;PreparedStateme nt psmt2=c onn .prepareStateme nt(listSQL2);ResultSet rs2=psmt2.executeQuery();psmt2.execute();costtotal=costtotal+rs2.getDouble(3);conn. commit();acco un t.setI ncomem on ey(

26、i ncometotal);accou nt.setCostm on ey(costtotal);list2.add(acc oun t);return list2;catch(SQLExcepti on e) e.pri ntStackTrace();return list2; 433数据库连接类数据库连接代码如下:public class DBCon public static Connection getConnection()Stri ng url=jdbc:microsoft:sqlserver:/localhost:1433;databaseName=myacc oun tbase

27、;Stri nguser=sa;Stri ngpsw=sa;Conn ecti on conn=nu II;tryClass.forName(com.microsoft.jdbc.sqlserver.SQLServerDriver);catch(ClassNotF oun dExcepti on e)e.pri ntStackTrace();tryconn=DriverMa nager.getCo nn ecti on( url, user, psw);conn .setAutoCommit(false);retur n conn;catch(SQLExceptio n e)e.pri ntS

28、tackTrace();return n ull;5总结与展望通过本次课程设计自己JavaWeb编程加深了理解,对 MVC莫型的工作原理和工作过程 有了更深刻的理解,对struts2 模型及其工作过程也有了比从前更深的认识,对于如何配 置web.xml和struts.xml 文件也加深了记忆,Filterdispatcher 过滤器的作用自己也进 一步加深了印象。最重要的是自己在这次课程设计中培养了自己独立觉问题的能力和解决 问题的耐心。比如自己在计算收入和支出帐务的和的时候,刚开始自己所写的算法之不能 正确的计算出结果,总是在返回的物理视图显示0.0 0.0 ,在运行期间控制没有显示任何错误

29、,原来自己在初始化的时候给incometotal和costtotal都初始化为0.0而自己的方 法在执行查询语句后得到一个Resultset结果集自己在累加计算收入和支出的综合的时候,自己在if语句的调减中rs.next()取非,导致没有进行累加计算,结果如论如何都返 回0.0和0.0这两个结果。只要把去非的!去掉即可得到正确的计算结果并返回给物理视图。参考文献1范立峰林果园.JavaWeb程序设计教程 第1版,北京:人民邮电出版社,2010成绩评定成绩教师签字目录1 设计时间 . 12 设计目的 . 13 设计任务 14 设计内容 . 14.1 设计题目 . 14.1.1 系统功能要求 14.1.2 数据库存储要求 14.1.3 数据库的设计 14.1.4 系统构造关系 24.2 Jsp 页面设计 34.2.1 登录界面 34.2.2 登录成功界面 44.2.3 查询结果界面 54.3.1Servlet类 54.3.2Dao 类 94.3.3 数据库连接类 145 总结与展望 . 15参考文献 . 15成绩评定 . 15

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1