




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、一 系統(tǒng)簡介 本系統(tǒng)為汽車租賃系統(tǒng),采用B/S實現。可以實現不同權限的瀏覽和管理。管理員可以用于汽車租賃公司對汽車租賃事務的管理,包括新增、刪除車輛記錄,新增、刪除用戶記錄,新增、刪除租賃信息記錄,新增、刪除管理人員記錄以及會員設置,客戶則可以瀏覽車輛信息和個人的租車信息。 主要技術:jsp運行環(huán)境:winows os+apache tomcat5.5+sql server 2005+jdk1.6開發(fā)軟件:myeclipse6.0.1開源軟件:jxl.jar,sqljdbc4.jar二 數據庫設計1. 需求分析因為客戶只能親自到汽車租賃公司去注冊或租賃車輛,因而,兩者權限分配如下:汽車公司方面
2、:能夠對車輛,租賃信息和用戶信息進行管理。超級管理員還可以對公司內部人員的信息進行管理客戶方面:只能瀏覽車輛信息和個人用戶信息及個人租賃信息。數據流圖如下: 管理員客戶新增客戶個人信息用戶信息文件車輛新增交易車輛信息交易信息文件個人信息新增車輛車輛信息文件新增管理員內部人員管理人員信息文件2. 概念設計ER圖如下所示: 管理員管理車輛車輛租用車輛客 戶1N管理用戶工號用戶名類型密碼編號類型狀態(tài)起租時間單價租用時間編號客戶編號車輛編號經手人員起租時間押金租用時間返回金額狀態(tài)證件號用戶名會員類型密碼MNnm信譽度3. 邏輯設計建表語句如下:用戶表:/后為各字段意義聲明create table us
3、erinfo( pid varchar(8) primary key, /用戶證件號 username varchar(8), /用戶名 isvip int, /用戶類型,是否為會員 xingyu int, /信譽度,滿分100。 password varchar(8) /用戶登錄密碼);管理員表:create table manager( wid varchar(8) primary key, /管理員工號 type int, /類型,超級管理員(部門經理等)和普通管理員 username varchar(8), /管理員用戶名 password varchar(8) /管理員密碼);車輛表
4、:create table taxi( tid varchar(8) primary key,/車輛編號 type varchar(8), /車輛類型 state varchar(8), /車輛狀態(tài),是否可租 wid varchar(8), / year int, /起租年月日 month int, day int, time int, detailinfo text, /車輛詳細信息 pay int /租用單價);租車信息表create table rentinfo( rid int identity(1,1) primary key, /交易編號 wid varchar(8), /經手人員
5、 pid varchar(8), /客戶證件號 tid varchar(8),/ 車輛號碼 yajin int, /押金 backmoney int, /返還金額 pay int,/單價 broken varchar(8),/破壞情況 outyear int,/結束交易時間 outmonth int, outday int, time int,/實際使用時間 state varchar(8)/交易狀態(tài) );-設置外鍵BEGIN TRANSACTIONalter table dbo.rentinfo add constraint FK_rentinfo_tidforeign key (tid)r
6、eferences dbo.taxi(tid) alter table dbo.rentinfo add constraint FK_rentinfo_pidforeign key (pid)referenceerinfo(pid) alter table dbo.rentinfo add constraint FK_rentinfo_widforeign key (wid)references dbo.manager(wid) COMMIT TRANSACTION4. 數據庫建立與備份,恢復在sql server 2005 建立一個數據庫,名稱為hello,執(zhí)行以上建表語句即可。或者將hel
7、lo.mdf,hello_log.ldf文件恢復。sp_attach_db 'hello', 'C:Program FilesMicrosoft SQL ServerMSSQLDatahello.mdf', 'C:Program FilesMicrosoft SQL ServerMSSQLDatahello_log.ldf' sp_attach_single_ 'hello','C:Program FilesMicrosoft SQL ServerMSSQLDatahello.mdf'備份:將hello數據庫備份成
8、hello.bak文件三 框架實現 系統(tǒng)總體框架實現如下圖所示: 不同權限的用戶登錄超級管理員內部人員管理客戶信息管理車輛信息管理普通管理員客戶信息管理車輛信息管理客戶個人信息瀏覽車輛信息瀏覽租車信息瀏覽財務信息管理財務信息管理以下是各模塊的子功能截圖:登錄模塊截圖: 超級管理員頁面截圖:普通管理員頁面截圖:員工信息管理頁面截圖:員工 信息管理(單表查詢)員工業(yè)績查詢(多表查詢)增加員工(單表插入數據)修改個人密碼客戶信息管理:交易信息查詢(多表查詢)客戶信息查詢車輛信息管理:新增車輛信息車輛信息查詢財務信息查詢:數據操作實現方法: 定義一個類DataManager,在每個jsp頁面中實例化這
9、個類,并調用它的某個方法,完成數據庫的連接,數據查詢,刪除,及修改操作。程序示例:如check.jsp里面可以驗證用戶登錄信息,并轉向不同頁面。DataManager dm = new DataManager();/實例化DataManager類ResultSet rs = null;if (type = 1) /如果是以客戶身份登錄String sql = "select * from userinfo where username='" + username+ "'" + " and password = '&quo
10、t; + password + "'"rs = dm.getResult(sql);/由用戶名和密碼獲取記錄if (rs.next() /如果記錄不為空,表明該客戶存在String pid = rs.getString("pid");/保存該用戶信息session.setAttribute("type", "1");session.setAttribute("pid", pid);session.setAttribute("username", username);r
11、esponse.sendRedirect("user.jsp");/轉向客戶頁面 else /轉向管理員頁面,以下與上面if語句類似。String sql = "select * from manager where username='"+ username + "'" + " and password = '" + password+ "' and type ="+type;System.out.println(sql);rs = dm.getResult(s
12、ql);if (rs.next() String wid = rs.getString("wid");session.setAttribute("type", t);session.setAttribute("wid", wid);session.setAttribute("username", username);response.sendRedirect("manager.jsp");此外,系統(tǒng)具有良好的安全性,對每個頁面都有良好的保護措施,如manashare.jsp,usershar.j
13、sp,通過session驗證用戶有無權限進入該頁面,否則跳轉到login.jsp頁面,重新登錄。四 程序設計 1.含有表單的jsp頁面可以通過設置隱藏域的值來提交到本頁面,其程序流程如下:開始獲得隱藏域變量的值為空?表單的填寫跳轉到本頁顯示表單提交結果結束YN2.財務管理中有個導出execl報表的功能,其實現如下: 從網上下載一個jxl.jar包,該jar包支持生成execl文件的操作,然后建立一個專門的類,用于生成execl,該類源碼如下:package my.pkgs;import java.io.*; import jxl.*; /jxl.jar里面的類庫import jxl.write
14、.*; import java.sql.*;public class CreateXLS public String create(ResultSet rs,String ) tryFile f = new );boolean exist = f.exists();WritableWorkbook book = Workbook.createWorkbook(new );/生成名為“第一頁”的工作表,參數0表示這是第一頁 WritableSheet sheet = book.createSheet("第一頁", 0);/在Label對象的構造子中指名單元格位置是第一列第一行
15、(0,0) /以及單元格內容為test Label label0 = new Label(0, 0, "交易號");Label label1 = new Label(1, 0, "經手人員");Label label2 = new Label(2, 0, "客戶證號");Label label3 = new Label(3, 0, "車輛號碼");Label label4 = new Label(4, 0, "押金(元)");Label label5 = new Label(5, 0, &quo
16、t;返還金額(元)");Label label6 = new Label(6, 0, "破壞情況");Label label7 = new Label(7, 0, "開始時間");Label label8 = new Label(8, 0, "實收金額(元)");sheet.addCell(label0);sheet.addCell(label1);sheet.addCell(label2);sheet.addCell(label3);sheet.addCell(label4);sheet.addCell(label5);s
17、heet.addCell(label6);sheet.addCell(label7);sheet.addCell(label8);int i = 1;while (rs.next() jxl.write.Number label01 = new jxl.write.Number(0,i,rs.getInt(1);Label label11 = new Label(1, i, rs.getString(2);Label label21 = new Label(2, i, rs.getString(3);Label label31 = new Label(3, i, rs.getString(4)
18、;jxl.write.Number label41 = new jxl.write.Number(4, i, rs.getInt(5);jxl.write.Number label51 = new jxl.write.Number(5, i, rs.getInt(6);Label label61 = new Label(6, i, rs.getString(8);Label label71= new Label(7, i, rs.getInt(9) + "-"+ rs.getInt(10) + "-" + rs.getInt(11);jxl.write.
19、Number label81 = new jxl.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
20、.close(); catch (Exception e) e.printStackTrace();return "ok" /測試creat方法 public static void main(String arg) throws SQLException CreateXLS c = new CreateXLS(); DataManager dm = new DataManager();String sql = "select * from rentinfo where outyear =" + 2009+ " and state='交
21、易完成'"System.out.println(sql);ResultSet rs = dm.getResult(sql);c.create(rs, "c:3.xls"); 在jsp頁面中調用該類方法既能生成Exel文件,源碼如下: /該文件名按apache tomcat 安裝目錄而定String = "C:/Program Software Foundation/Tomcat 5.5/webapps/COURSEPROJECT/execls/"+ year + "-" + month + ".xls"CreateXLS cxls = new CreateXLS();cxls.create(rss, );3.用到了數據庫知識里面的觸發(fā)器,該觸發(fā)器用于新增交易信息時,sql語句如下:SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TRIGGER rent1on rentinfo AFTER insertAS BEGIN update taxi set taxi.state = i.state, taxi.year = i.outyear, taxi.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 深入掌握護士資格證知識體系試題及答案
- 新冠污物處理試題及答案
- 稅務師核心能力的試題及答案
- 電路基礎大題試題及答案
- 華為sql面試題及答案
- 學習總結2025年初級會計師試題及答案
- 心理干預在重癥病人中的有效性試題及答案
- 整合學習2024年西醫(yī)臨床試題及答案
- 員工競聘考試試題及答案
- 積極心態(tài)在2025年稅務師考試成功中的推動作用試題及答案
- 大學美育知到智慧樹章節(jié)測試課后答案2024年秋長春工業(yè)大學
- DB51T 1511-2022建設項目對自然保護區(qū)自然資源、自然生態(tài)
- 全勤獎管理制度(多篇)
- 酒石酸長春瑞濱合成與純化工藝優(yōu)化
- 脫硫培訓課件大綱
- 2020年四川綿陽中考滿分作文《人生最貴的是緣》
- 某縣林業(yè)局“新官不理舊賬”問題專項清理工作方案
- 高考數學一輪復習:導數中的隱零點問題 高階拓展 專項練習(學生版+解析)
- 統(tǒng)編版小學語文五年級下冊第二單元快樂讀書吧整本書閱讀課《西游記》課件
- 患者舒適與安全護理(基礎護理課件)
- 2024年湖南省高中學業(yè)水平合格性考試英語試卷真題(含答案詳解)
評論
0/150
提交評論