




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软 件 学 院课程设计报告书课程名称 javaee 课程设计 设计题目 个人财务系统 专业班级 软件工程 学 号 姓 名 指导教师 2011 年 12 月目录1 设计时间32 设计目的33设计任务34 设计内容34.1 设计题目34.1.1系统功能要求34.1.2 数据库存储要求34.2 jsp 页面设计34.2.1登录界面34.2.2登录成功界面44.2.3查询结果界面64.2.4计算结果界面74.3java方法设计74.3.1servlet类74.3.2dao类124.3.3domain类174.3.4数据库连接类195 总结与展望20参考文献21成绩评定211 设计时间2011年12月12日12月16日2 设计目的javaee课程设计是对所学javaee与中间件课程的小结,是提高学生对所学知识综合应用能力的一种方式,是集中实践性环节之一。要求同学们对课程中所学习到的知识综合运用,开发有一定规模的java web程序。3设计任务设计个人帐务管理系统,要求用户以合法的身份登录后可以对系统进行操作,用户可以查看,添加,删除和计算某段时间内帐务的收入和支出信息等。帐务信息包括收入和支出两种,还有日期和备注。4 设计内容 4.1 设计题目个人财务管理系统 4.1.1系统功能要求用只有拥有合法身份才能登录系统,用以合法身份登录后可以产看帐务信息、添加帐务信息、删除帐务信息、分别统计某个时间段内的收入和支出总额。4.1.2 数据库存储要求 收入支出数额,日期和备注4.2 jsp 页面设计4.2.1登录界面 图1(登录界面)代码如下:欢迎登陆个人财务统计系统! 用户名称:用户密码: 4.2.2登录成功界面 图2(登录成功查询界面) 代码如下: 欢迎登录: 增加帐目明细请输入: 收入数额: 支出数额: 附加备注: 输入日期: 查询帐目明细请点击: 删除帐目信息请如下: 请输入要 删除帐目的日期: 起始id号: 终止id号: 4.2.3查询结果界面图3(查询结果界面)代码如下: 您的帐务明细如下: 帐目序号 收入数额 支持数额 附加备注 记录日期 % list list=(list)request.getattribute(accounts); myaccount account=new myaccount(); for(int i=0;i 4.2.4计算结果界面代码如下: % list list=(list)request.getattribute(result); for(int i=0;i 4.3java方法设计4.3.1servlet类控制增删改操作的servlet类代码设计如下:package com.controller;import com.dao.*;import com.domain.myaccount;import java.io.ioexception;import java.io.printwriter;import java.util.list;import javax.servlet.requestdispatcher;import javax.servlet.servletexception;import javax.servlet.http.httpservlet;import javax.servlet.http.httpservletrequest;import javax.servlet.http.httpservletresponse;public class accountcontroller extends httpservlet 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.getparameter(arg); switch(arg) /根据每个form传递的不同的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 request, 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.setattribute(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 accountdao(); 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 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)request.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(); 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); string 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); 密码验证的servlet类的代码如下:import java.io.ioexception;import java.io.printwriter;import javax.servlet.requestdispatcher;import javax.servlet.servletexception;import javax.servlet.http.httpservlet;import javax.servlet.http.httpservletrequest;import javax.servlet.http.httpservletresponse;import javax.servlet.http.httpsession;import sunyang.domain.user;import sunyang.service.userservice;public 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(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.setattribute(name, username); else forward=/error.jsp; requestdispatcher rd=req.getrequestdispatcher(forward); rd.forward(req,resp); 4.3.2dao类密码验证的dao类代码设计如下:package sunyang.service;import sunyang.domain.user;public class userservice public static boolean checklogin(user user) if(user.getusername().equals(lb)&user.getpassword().equals(123) return true; return false; 帐务添加查询计算的dao类代码设计如下:package com.dao;import java.sql.connection;import java.sql.preparedstatement;import java.sql.resultset;import java.sql.sqlexception;import java.util.arraylist;import java.util.list;import com.domain.myaccount;import com.util.dbcon;public class accountdao private connection conn; public list findallaccount() /查询所有帐务信息 conn=dbcon.getconnection(); string listsql=select * from myaccount; list list=new arraylist(); try preparedstatement psmt=conn.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(account); 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 myaccount 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(sqlexception 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, account.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 account=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 costmoney 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.3domain类密码验证代买设计如下:package sunyang.domain;public class user private string username; private string password;public string getusername() return username;public void setusername(string username) this.username = username;public string getpassword() return password;public void setpassword(string password) this.password = password;帐务信息代码设计如下:package com.domain;public class myaccount private integer id;private double incomemoney;private double costmoney;private string record;private string time;public string gettime() return time;public void settime(string time) this.time = time;public integer getid() return id;public void setid(integer id) this.id = id;public double getincomemoney() return incomemoney;public void setincomemoney(double incomemoney) this.incomemoney = incomemoney;public double getcostmoney() return costmoney;public void setcostmoney(double costmoney) this.costmoney = costmoney;public string getrecord() return record;public void setrecord(string record) this.record = record;4.3.4数据库连接类数据库连接代码如下:package com.util;import java.sql.connection;im
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年油气管道维护与操作实务中级面试模拟题及答案
- 2025年物流师职业资格认证考试预测题解析
- 株洲管理知识培训班课件
- 福州七中2026届化学高一第一学期期末联考试题含解析
- 2025年人工智能算法工程师中级晋升面试题详解集萃
- 2025年酒店管理专业课程期末考试题库
- 2025年金融分析师考试模拟试题及标准答案公布
- 2025年建筑师面试指南模拟题与答案详解
- 2025年营养师专业考试中级模拟题及备考指南
- 2025年过氧化工艺安全操作考试试题集
- 土石方工作安全培训课件
- 2025年建筑材料行业当前发展趋势与投资机遇洞察报告
- 《金色的鱼钩》学生版
- 四川省达川市2025年上半年事业单位公开招聘试题含答案分析
- (2025年标准)强奸私了协议书
- 2025年电梯安全管理员试题及答案
- 2025年赛码考试题库
- 2025年餐饮经理人岗位胜任力评估试题及答案
- 中石化班组管理办法
- 2025供应链合同范本
- 肿瘤患者健康宣教
评论
0/150
提交评论