版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一.系统简介本系统为汽车租赁系统,采用B/S实现。可以实现不同权限的浏览和管理。管理员可以用于汽车租赁公司对汽车租赁事务的管理,包括新增、删除车辆记录,新增、删除用户记录,新增、删除租赁信息记录,新增、删除管理人员记录以及会员设置,客户则可以浏览车辆信息和个人的租车信息.主要技术:jsp运行环境:winows os+apache tomcat5.5+sql server2005+jdk1.6开发软件:myeclipse6。0.1开源软件:jxl.jar,sqljdbc4。jar二.数据库设计需求分析因为客户只能亲自到汽车租赁公司去注册或租赁车辆,因而,两者权限分配如下:汽车公司方面:能够对车辆,租赁信息和用户信息进行管理。超级管理员还可以对公司内部人员的信息进行管理客户方面:只能浏览车辆信息和个人用户信息及个人租赁信息.数据流图如下:管理员新增车辆车辆管理人员信息文件个人信息车辆信息文车辆信息新增新增客户用户信息文件管理员新增交易个人信息交易信息文件客户内部人员概念设计ER图如下所示:工号
用户名 类型n 密码管理用户 管理员m证件号M密码用户名管理车辆客户会员类型租用时间信誉度1N单价N租用车辆车辆起租时间状态编号编号类型状态客户编号押金 返回金额起租时间 租用时间经手人员车辆编3. 逻辑设计建表语句如下:用户表://后为各字段意义声明createtableuserinfo(pidvarchar(8)primarykey,//用户证件号usernamevarchar(8),//用户名isvipint,//用户类型,是否为会员xingyuint,//信誉度,满分100.passwordvarchar(8) //用户登录密码);管理员表:create
table manager(widtype
varchar(8)int,
primary
key, //管理员工号//类型,超级管理员(部门经理等)和普通管理员username varchar(8),passwordvarchar(8)
//管理员用户名//管理员密码);车辆表:create
tabletaxi(tid varchar(8) primary key,//车辆编号type varchar(8), //车辆类型statevarchar(8), //车辆状态,是否可租widvarchar(8), //yearint, //起租年月日month int,day int,time int,detailinfo text, //车辆详细信息payint //租用单价);租车信息表create table
rentinfo(ridint identity(1,1) primary key,wid varchar(8), //经手人员pidvarchar(8), //客户证件号tid varchar(8),// 车辆号码yajinint, //押金
//交易编号backmoney
int,
//返还金额payint,//单价broken varchar(8),//破坏情况outyear int,//结束交易时间outmonthint,outday int,timeint,//实际使用时间state varchar(8)//交易状态);——设置外键BEGINTRANSACTIONaltertabledbo。rentinfoaddconstraintFK_rentinfo_tidforeignkey(tid)referencesdbo.taxi([tid])altertabledbo。rentinfoaddconstraintFK_rentinfo_pidforeignkey(pid)references dbo。userinfo([pid])altertabledbo。rentinfoaddconstraintFK_rentinfo_widforeignkey(wid)referencesdbo。manager([wid])COMMITTRANSACTION数据库建立与备份,恢复sqlserver2005建立一个数据库,名称为hello,执行以上建表语句即可。或者将hello。mdf,hello_log。ldf文件恢复。sp_attach_db'hello’,'C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\hello。mdf',ﻫ’C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\hello_log.ldf’sp_attach_single_file_db ’hello’,’C:\ProgramFiles\MicrosofSQLServer\MSSQL\Data\hello。mdf'备份:将hello数据库备份成hello.bak文件三.框架实现系统总体框架实现如下图所示:不同权限的用户登录普通管理员超级管理员内客车财客财车户务辆部户辆务信信信人信信信息息息员息息息管管管管管管管理理理理理理理以下是各模块的子功能截图:登录模块截图:超级管理员页面截图:普通管理员页面截图:员工信息管理页面截图:员工 信息管理(单表查询)员工业绩查询(多表查询)增加员工(单表插入数据)修改个人密码客户信息管理:交易信息查询(多表查询)客户信息查询车辆信息管理:新增车辆信息车辆信息查询财务信息查询:数据操作实现方法:
客户个租车人车辆信信信息息息浏浏浏览览览定义一个类DataManager,在每个jsp页面中实例化这个类,并调用它的某个方法,完成数据库的连接,数据查询,删除,及修改操作。程序示例:如check。jsp里面可以验证用户登录信息,并转向不同页面。DataManagerdm = newDataManager();//实例化DataManager类ResultSetrs=null;ﻩif(type==1){//如果是以客户身份登录Stringsql = "select*fromuserinfowhereusername=’”+usernameﻩ ﻩﻩ+"'”+”andpassword=’"+password+”’";ﻩrs=dm.getResult(sql);//由用户名和密码获取记录ﻩﻩif(rs。next()){//如果记录不为空,表明该客户存在Stringpid=rs。getString(”pid");//保存该用户信息ﻩsession。setAttribute("type”,”1");session。setAttribute("pid", pid);session。setAttribute("username”,username);response.sendRedirect("user.jsp”);//转向客户页面ﻩ}}else{//转向管理员页面,以下与上面if语句类似。String sql ="select *frommanagerwhereusername=’"ﻩ ﻩ+username+”’”+"andpassword=’"+password+”’andtype=”+type;System.out.println(sql);ﻩﻩrs=dm.getResult(sql);ﻩﻩif(rs.next()){ﻩﻩStringwid=rs.getString(”wid");ﻩsession.setAttribute(”type”,t);session。setAttribute(”wid”,wid);session。setAttribute(”username”,username);ﻩﻩﻩresponse。sendRedirect(”manager.jsp");}}此外,系统具有良好的安全性,对每个页面都有良好的保护措施,如manashare.jsp,usershar。jsp,通过session验证用户有无权限进入该页面,否则跳转到login。jsp页面,重新登录。四.程序设计1。含有表单的jsp页面可以通过设置隐藏域的值来提交到本页面,其程序流程如下:开始获得隐藏域变量的值Y为空?N表单的填写
显示表单提交结果结束跳转到本页2.财务管理中有个导出execl报表的功能,其实现如下:从网上下载一个jxl.jar包,该jar包支持生成execl文件的操作,然后建立一个专门的类,用于生成execl,该类源码如下:package my.pkgs;importjava。io。*;importjxl。*; //jxl。jar里面的类库import jxl。write。*;import java.sql.*;public class CreateXLS{public Stringcreate(ResultSetrs,Stringfilename){try{ﻩﻩﻩFilef=newFile(filename);ﻩ booleanexist=f.exists();WritableWorkbookbook=Workbook。createWorkbook(newFile(filename));ﻩﻩﻩﻩ//生成名为“第一页”的工作表,参数0表示这是第一页ﻩ ﻩWritableSheetsheet=book。createSheet("第一页",0);ﻩ//在Label对象的构造子中指名单元格位置是第一列第一行(0,0)ﻩﻩﻩ//以及单元格内容为testﻩ Labellabel0 =newLabel(0, 0,"交易号”);ﻩﻩ Labellabel1 =newLabel(1, 0,"经手人员");ﻩﻩﻩLabellabel2=newLabel(2,0,”客户证号");ﻩ ﻩﻩLabellabel3=newLabel(3, "车辆号码");Labellabel4=newLabel(4,0,”押金(元)");ﻩﻩﻩLabellabel5=newLabel(5,0,”返还金额(元)");ﻩ ﻩ Labellabel6=new Label(6, 0,”破坏情况");ﻩ ﻩLabellabel7=newLabel(7,0,"开始时间”);ﻩ Labellabel8 = new Label(8, 0,"实收金额(元)");ﻩﻩsheet.addCell(label0);sheet.addCell(label1);ﻩﻩﻩﻩsheet.addCell(label2);ﻩﻩsheet.addCell(label3);sheet。addCell(label4);ﻩsheet。addCell(label5);ﻩsheet。addCell(label6);sheet。addCell(label7);ﻩﻩﻩﻩsheet.addCell(label8);ﻩﻩinti=1;ﻩ while(rs.next()){jxl.write。Numberlabel01=newjxl。write。Number(0,i,rs。getInt(1));ﻩﻩ
ﻩﻩLabellabel11=newLabel(1,i,rs.getString(2));ﻩLabellabel21=newLabel(2,i,rs。getString(3));ﻩLabellabel31=newLabel(3,i,rs。getString(4));ﻩjxl。write。Numberlabel41=newjxl。write.Number(4,i,rs。getInt(5));ﻩjxl.write。Numberlabel51=newjxl.write.Number(5,i,rs。getInt(6));ﻩﻩﻩ
ﻩ ﻩ Labellabel61=newLabellabel71= newLabel(7,
Label(6, i, rs。getString(8));i, rs。getInt(9) + ”—”ﻩﻩﻩﻩ+rs。getInt(10)+"-”+rs.getInt(11));ﻩjxl.write。Numberlabel81=newjxl。write.Number(8,i,rs.getInt(5)ﻩﻩﻩ—rs。getInt(6));sheet。addCell(label01);ﻩﻩsheet.addCell(label11);sheet.addCell(label21);ﻩsheet。addCell(label31);ﻩsheet。addCell(label41);ﻩsheet。addCell(label51);ﻩsheet。addCell(label61);ﻩsheet。addCell(label71);sheet.addCell(label81);i++;ﻩﻩﻩﻩ}ﻩﻩbook。write();ﻩﻩbook。close();ﻩ ﻩ }catch(Exceptione){ﻩﻩe.printStackTrace();}ﻩ return "ok";}//测试creat方法publicstaticvoid main(String[] arg)throwsSQLException{CreateXLSc=newCreateXLS();DataManagerdm= newDataManager();ﻩStringsql=”select*fromrentinfowhereoutyear="+2009ﻩﻩﻩﻩ+”andstate=’交易完成’”;ﻩSystem。out。println(sql);ResultSetrs=dm。getResult(sql);ﻩc。create(rs,"c:\\3.xls");}}在jsp页面中调用该类方法既能生成Exel文件,源码如下://该文件名按apache tomcat安装目录而定ﻩﻩStringfilename=”C:/ProgramFiles/ApacheSoftwareFoundation/Tomcat5.5/webapps/COURSEPROJECT/execls/”ﻩﻩﻩ+year+”—”+month+”。xls";ﻩﻩCreateXLScxls=newCreateXLS();cxls。create(rss,filename);3。用到了数据库知识里面的触发器,该触发器用于新增交易信息时,sql语句如下:SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETRIGGERrent1onrentinfoAFTER insertASBEGINupdatetaxisettaxi.state=i。state,taxi。year =i。outyear,taxi。month=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024企业员工盈利分配合作合同
- 2024廉租物业服务合同
- 2024年度许可使用合同:影视作品授权播放与发行协议3篇
- 2024年度文化传播机构员工劳动合同标准模板3篇
- 2024年智慧城市建设聘请博士规划设计合同3篇
- 2024购销合同样式
- 2024年婚前合同范本:权益与责任明细一
- java课程设计+计算器阶乘
- 2024平面模特形象代言聘用合同-时尚界合作典范3篇
- 大数据分析工具课程设计
- 2024-2030年墨西哥水痘减毒活疫苗市场前景分析
- 健身房私教与健身房合同
- 重大事故隐患判定标准与相关事故案例培训课件(建筑)
- 养猪场合作协议书
- 个人转让储藏室协议书范本
- 《巴以冲突》课件
- MOOC 中药炮制学-河南中医药大学 中国大学慕课答案
- 施工总平面图(标书用)
- 《医学细胞生物学》试题库完整
- 年度品质年终总结
- 2024春形势与政策课件当前国际形势与中国原则立场
评论
0/150
提交评论