版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、X X X X 大 學(xué)Java語言程序設(shè)計課程設(shè)計(論文)題目: 車輛租賃管理系統(tǒng) 院(系): 專業(yè)班級: 學(xué) 號: 學(xué)生姓名: 指導(dǎo)教師: 教師職稱: 起止時間: 課程設(shè)計(論文)任務(wù)及評語院(系):軟件學(xué)院 教研室:軟件教研室學(xué) 號 學(xué)生姓名 專業(yè)班級 課程設(shè)計(論文)題目車輛租賃管理系統(tǒng) 課程設(shè)計(論文)任務(wù)任務(wù)與要求:(1). 掌握面向?qū)ο蟪绦蛟O(shè)計語言JAVA的基本語法(2). 掌握J(rèn)AVA面向?qū)ο笤O(shè)計的思想,(3). 掌握VJAVA6.0與MyEclips JAVA 開發(fā)工具的使用 (4). 運(yùn)用標(biāo)準(zhǔn)JAVA規(guī)范設(shè)計應(yīng)用程序設(shè)計過程中,要嚴(yán)格遵守設(shè)計的時間安排,聽從指導(dǎo)教師的指導(dǎo)。正
2、確地完成上述內(nèi)容,規(guī)范完整地撰寫出設(shè)計報告。指導(dǎo)教師評語及成績 成績: 指導(dǎo)教師簽字: 年 月 日目 錄第1章 課程設(shè)計目的與要求11.1設(shè)計目的11.2實(shí)驗(yàn)環(huán)境11.3預(yù)備知識11.4設(shè)計要求1第2章 課程設(shè)計內(nèi)容22.1 課題描述22.2 系統(tǒng)設(shè)計2功能分析2面向?qū)ο笤O(shè)計2類成員描述22.3程序?qū)崿F(xiàn)2源碼分析2運(yùn)行結(jié)果2第3章 總結(jié)3參考文獻(xiàn)4第1章 課程設(shè)計目的與要求1.1設(shè)計目的車輛信息輸入用戶可以錄入車輛信息,車輛信息表包括id(自動編號) category model no price flag每個字段的含義及解釋id:為 int 類型 定義為主鍵 自動增長category:車輛的
3、類別,以下拉列表的形式給出列表的內(nèi)容包括三種類型大客車、面包車、小轎車model:車輛的型號no:車輛的車牌號price:租車的價格 單位為/元flag:用來標(biāo)記車輛的出租狀態(tài)列出所有車輛;當(dāng)輸入車輛信息后,將跳轉(zhuǎn)到車輛信息列表頁,把數(shù)據(jù)庫中所有的車輛信息取出來顯示到前臺的jsp 頁面,并根據(jù)多表連接來判斷這些車輛的出租狀態(tài),也就是說這些車輛有沒有被出租 刪除車輛;在車輛信息列表頁中有刪除車輛信息的鏈接,根據(jù)autos表中的id來刪除車輛信息,刪除后,跳轉(zhuǎn)到原來的頁面。租車;首先判斷哪些車輛沒有被出租出去,然后把沒有被出租的車輛顯示在租車頁面的下拉列表中,此時用戶只需要填寫 出租人的姓名就可以
4、租車了,其實(shí)后臺數(shù)據(jù)庫已經(jīng)把出租的車輛信息寫進(jìn)了數(shù)據(jù)庫中的 leases表,這一動作包括這些信息被寫進(jìn)了數(shù)據(jù)庫 id(自動編號),customer(客戶姓名),leasedate(出租日期),retured(是否還車),returned(還車日期)出租的列表;被出租的車輛信息及出租的日期,出租人等一些信息通過多表連接查詢顯示到出租列表頁面還車在出租列表頁面每條信息的后面都有還車鏈接,點(diǎn)擊連接將進(jìn)行還車操作,后臺數(shù)據(jù)庫將根據(jù)id將相應(yīng)的 retured字段的值改為還車標(biāo)記(0表示未還,1表示已經(jīng)還了)統(tǒng)計租金根據(jù)車輛的類別來統(tǒng)計租金,并把統(tǒng)計的結(jié)果顯示在統(tǒng)計頁面1.2實(shí)驗(yàn)環(huán)境各Strtus部件的
5、設(shè)計:功能/實(shí)現(xiàn)的Action/使用的Form-bean(及數(shù)據(jù)驗(yàn)證)/界面/轉(zhuǎn)發(fā)視圖:就是一組JSP文件,這些JSP文件沒有業(yè)務(wù)邏輯,也沒有模型信息,只有標(biāo)簽,這些標(biāo)簽可以是標(biāo)準(zhǔn)的JSP標(biāo)簽或者是客戶化標(biāo)簽,如Struct標(biāo)簽庫的標(biāo)簽。此外,通常將Strcut框架中的ActionForm Bean也劃為視圖模塊中,ActionForm Bean是一種JAVABEAN,除了具有一些JAVABean的常規(guī)方法外,還包含了一些特殊的方法,用于驗(yàn)證HTML表單數(shù)據(jù)以及將其屬性重新設(shè)置默認(rèn)值。Struct框架利用ActionForm Bean來進(jìn)行視圖和控制器之間表單數(shù)據(jù)的傳遞。Strcut框架將用戶
6、輸入的表單數(shù)據(jù)保存在ActionForm Bean中,將它傳遞給控制器,控制器可以對ActionForm Bean中的數(shù)據(jù)進(jìn)行修改,JSP文件使用Strcut標(biāo)簽讀取修改后的ActionForm Bean的信息,重新設(shè)置HTML表單。控制器:控制器由ActionServlet類和Action類實(shí)現(xiàn),ActionServlet類是Struct框架中的核心組件。是這個MVC的中央控制器的角色,ActionServlet主要負(fù)責(zé)接收HTTP請求的信息,根據(jù)配置文件struct-config.xml的配置信息,將請求轉(zhuǎn)發(fā)給適當(dāng)?shù)腁ction對象,如果該Action對象不存在,ActionServlet
7、會先創(chuàng)建這個Action對象。Action類負(fù)責(zé)調(diào)用模型的方法,更新模型的狀態(tài),并幫助控制應(yīng)用程序的流程,對于小型簡單的應(yīng)用,Action類本身也可以完成一些實(shí)際的業(yè)務(wù)邏輯。模型:模型表示應(yīng)用程序的狀態(tài)和業(yè)務(wù)邏輯,業(yè)務(wù)邏輯常常由JavaBean或者EJB組件實(shí)現(xiàn)。如果在Web應(yīng)用開發(fā)中套用現(xiàn)成的Struct框架,可以簡化每個開發(fā)階段的工作,開發(fā)人員可以更加有針對性地分析應(yīng)用需求,不必重新設(shè)計框架,只需在Struct框架的基礎(chǔ)上,設(shè)計MVC各個模塊包含的具體組件,在編碼過程中,可以充分利用Struct提供的各種實(shí)用類和標(biāo)簽庫,簡化編碼工作。Struct框架可以方便迅速地將一個復(fù)雜的應(yīng)用劃分成模型
8、、視圖和控制器組件,而Struct的配置文件struct-config.xml可以靈活地組裝這些組件,簡化開發(fā)過程1.3預(yù)備知識出租的列表;被出租的車輛信息及出租的日期,出租人等一些信息通過多表連接查詢顯示到出租列表頁面還車在出租列表頁面每條信息的后面都有還車鏈接,點(diǎn)擊連接將進(jìn)行還車操作,后臺數(shù)據(jù)庫將根據(jù)id將相應(yīng)的 retured字段的值改為還車標(biāo)記(0表示未還,1表示已經(jīng)還了)統(tǒng)計租金根據(jù)車輛的類別來統(tǒng)計租金,并把統(tǒng)計的結(jié)果顯示在統(tǒng)計頁面1.4設(shè)計要求對于開發(fā)Web應(yīng)用,要從頭設(shè)計并開發(fā)出一個可靠、穩(wěn)定的框架不是一件容易的事情,隨著Web開發(fā)技術(shù)的日趨成熟,在web開發(fā)領(lǐng)域出現(xiàn)了一些現(xiàn)成的
9、優(yōu)秀的框架,開發(fā)者可以直接使用它們,就是一個很好的框架結(jié)構(gòu),它是在JSP Model2基礎(chǔ)上實(shí)現(xiàn)的一個MVC框架,它可以使你不必要從頭開始全部開發(fā)組件,對于大項(xiàng)目更是很好的。在Strcut框架中模型由實(shí)現(xiàn)業(yè)務(wù)邏輯的JavaBean或者EJB組件構(gòu)成,控制器由ActionSevelet和Action來實(shí)現(xiàn),視圖由一組JSP文件組成,圖顯示了Struct實(shí)現(xiàn)的MVC框架。瀏覽器Web服務(wù)器控制器ActionServlet視圖JSP模型JavaBeanEJBStruct-config.xmlActionActionAction圖:Struct實(shí)現(xiàn)的MVC框架第2章 課程設(shè)計內(nèi)容1.1 課題描述提出問
10、題2.2 系統(tǒng)設(shè)計設(shè)計兩個表:a) 車輛信息autos(id,category類別,model型號,no車牌號,price租車價格)b) 租車信息leases(id,autoId車輛id,customer客戶名稱,leaseDate租車日期,returned是否還車?,returnDate還車日期)功能分析<1. 管理車輛基本信息,增加/刪除/列表;<2. 能進(jìn)行租車/還車操作;<3. 按車輛類別統(tǒng)計租金(雖然是選做,已做好)。車輛基本信息包括:車輛類別(大客/面包/轎車),品牌型號,車牌號,租車價格;租車時應(yīng)記錄:租車日期,車輛id,客戶名稱;還車時應(yīng)記錄:還車日期。面向?qū)?/p>
11、象設(shè)計基于struts的車輛租賃管理系統(tǒng)基于struts的車輛租賃管理系統(tǒng)MMyDB.CarDB.AllValueBackcarForm.InputAutoForm.LeaseFormUpdateFormVInputAuto.jspLeaseAuto.jspLeaseok.jspListcar.jspListLeased.jspStatresult.jspCinputAutoActionlistCarActionListLeaseActionlistLeasedActionlistStatAction4.3Struts部件功能頁面ActionForm-bean1.輸入車輛信息InputAuto
12、.jspInputAutoActioncategory,model,no,price2.車輛信息列表ListCar.jspListCarAction/3.刪除車輛信息ListCar.jspUpdateActionId4.租車LeaseAuto.jspListLeasedActionAutoId,coustomer,leasedate5.還車Listleased.jspBackcarActionId6分類統(tǒng)計Statresult.jspStateAction/文件說明目錄文件說明Src/chenxinMyDB封裝了數(shù)據(jù)庫訪問CarDB封裝對數(shù)據(jù)庫表的操作CharCodingFilter用于支持中
13、文輸入的過濾器AllValue分裝了數(shù)據(jù)庫字段所有用到的屬性ApplicationRperties資源文件Src/chenxin/actionBackcarAction.java還車InputAutoAction.java輸入車輛信息LeaseAction.java租車ListCarAction.java顯示車輛信息ListLeaseAction.java顯示可以被租的車ListLeasedAction.java顯示一租的車輛信息StatAction.java分類統(tǒng)計租金UpdateAction.java刪除車輛信息Src/chenxin/formBackcarForm
14、.java還車時所用到的id屬性InputAutoForm.java封裝了車輛信息的一些字段LeaseForm.java封裝借車用的idUpdateForm.java封裝刪除車輛信息所用的idWebRoothead.jsp用<%include file=”%>命令,在每個頁面包含這個文件用作菜單導(dǎo)航end.jsp每個頁面包含的尾部文件inputAuto.jsp用戶輸入車輛信息頁面leaseAuto.jsp用戶租借車輛頁面leaseok.jsp顯示租借成功信息頁面listcar.jsp顯示車輛信息列表頁面listleased.jsp顯示已租的車輛信息頁面statresult.jsp統(tǒng)
15、計顯示頁面Web-INFOWeb.xmlStruts配置文件Strus-config.xmlWeb項(xiàng)目的配置文件imageBank.jpg. head.gif end.gif網(wǎng)頁中用到的圖片輸入車輛信息的部件輸入租車信息的部件還車分類統(tǒng)計運(yùn)行界面(1)插入車輛信息(2)車輛信息列表和刪除操作(3)分類統(tǒng)計租金(4) 還車操作數(shù)據(jù)驗(yàn)證1. 輸入車輛信息的數(shù)據(jù)驗(yàn)證 InputAutoForm.java 文件中的 validate方法如果不符合和則返回到 inputAuto.jsp頁面輸出錯誤提示信息主要驗(yàn)證判斷所輸入的車輛型號和車牌是否為空的錯誤驗(yàn)證和輸入的價格是否為數(shù)字類型的驗(yàn)證public A
16、ctionErrors validate(ActionMapping mapping,HttpServletRequest request) / TODO Auto-generated method stubActionErrors errors = new ActionErrors();if (model = null | model.length() = 0) errors.add("model_error",new ActionMessage("model_error");if (no = null | no.length() != 7) erro
17、rs.add("no_error",new ActionMessage("no_error");/判斷所輸入的 車輛型號和車牌是否為空的錯誤驗(yàn)證try if (!(Double.parseDouble(price)>=100&&Double.parseDouble(price)<=2000) errors.add("price1",new ActionMessage("price1"); catch (NumberFormatException e) / TODO Auto-genera
18、ted catch blockSystem.out.println(e);errors.add("price1",new ActionMessage("price1");return errors;/輸入的價格是否為數(shù)字類型的驗(yàn)證return errors;2.輸入租車信息的驗(yàn)證 LeaseForm.java 中的 validate 方法如果不符合驗(yàn)證規(guī)則將返回到leaseAuto.jsp頁面并輸出錯誤提示信息,如果驗(yàn)證通過將跳轉(zhuǎn)到leaseok.jsp頁面顯示租車成功的信息驗(yàn)證所輸入的用戶名是否為空public ActionErrors validat
19、e(ActionMapping mapping,HttpServletRequest request) / TODO Auto-generated method stubActionErrors errors = new ActionErrors();if (customer= null | customer.length() = 0) errors.add("customer_error",new ActionMessage("customer_error");return errors;類成員描述2.3程序?qū)崿F(xiàn)java bean的設(shè)計:各個類的功能,
20、實(shí)現(xiàn)方法給個類的功能Src/chenxinMyDB封裝了數(shù)據(jù)庫訪問CarDB封裝對數(shù)據(jù)庫表的操作CharCodingFilter用于支持中文輸入的過濾器AllValue分裝了數(shù)據(jù)庫字段所有用到的屬性ApplicationRperties資源文件Src/chenxin/actionBackcarAction.java還車InputAutoAction.java輸入車輛信息LeaseAction.java租車ListCarAction.java顯示車輛信息ListLeaseAction.java顯示可以被租的車ListLeasedAction.java顯示一租的車輛信息St
21、atAction.java分類統(tǒng)計租金UpdateAction.java刪除車輛信息Src/chenxin/formBackcarForm.java還車時所用到的id屬性InputAutoForm.java封裝了車輛信息的一些字段LeaseForm.java封裝借車用的id對數(shù)據(jù)庫操作的一些類的方法功能介紹1 CarDB.java類向autos表中插入車輛信息向leases表中插入租車信息更新leases表中的returned字段刪除autos表中的一條信息查詢autos表中的全部信息分類統(tǒng)計功能查詢租車信息2 MyDB.java封裝對數(shù)據(jù)庫的連接所需要加載的驅(qū)動要連接的數(shù)據(jù)庫用戶名密碼Con
22、nection類型構(gòu)造方法連接數(shù)據(jù)庫關(guān)閉數(shù)據(jù)庫3 CharEncodingFilter.java類源碼分析validate()驗(yàn)證中錯誤信息提示的中文處理采用java安裝目錄下的 x:Javajdk_04bin native2ascii.exe文件進(jìn)行中文轉(zhuǎn)碼然后輸出中文提示的錯誤信息jsp頁面采用”UTF-8”的編碼形式配置過濾器處理頁面的中文顯示問題,過濾器的使用方法如下(1)首先寫好過濾器的java文件,代碼如下public class CharEncodingFilter implements Filter public void destroy() public void doFil
23、ter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException request.setCharacterEncoding("UTF-8");chain.doFilter(request, response);public void init(FilterConfig arg0) throws ServletException (2)然后在web.xml中配置相關(guān)的映射環(huán)境,配置代碼如下<filter> <
24、;filter-name>CharEncodingFilter</filter-name> <filter-class>chenxin.CharEncodingFilter</filter-class> </filter> <filter-mapping> <filter-name>CharEncodingFilter</filter-name> <url-pattern>/*</url-pattern></filter-mapping>運(yùn)行結(jié)果輸入車輛信息測試 (1)當(dāng)輸入車輛類型為空,車牌號為空時,價格正常時,查看結(jié)果測試用例為 類型=null 車牌號=null 價格=244系統(tǒng)提示 車輛類型為空,車牌號為空,(2)測試用例 類型=null 車牌號=1234
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- M108抗體注射液生產(chǎn)車間建設(shè)項(xiàng)目可行性研究報告寫作模板-備案審批
- 鄭州職業(yè)技術(shù)學(xué)院《論文寫作學(xué)術(shù)交流和規(guī)范》2023-2024學(xué)年第一學(xué)期期末試卷
- 云南三鑫職業(yè)技術(shù)學(xué)院《財務(wù)管理基礎(chǔ)(英文版)》2023-2024學(xué)年第一學(xué)期期末試卷
- 述職報告模板
- 職業(yè)導(dǎo)論-房地產(chǎn)經(jīng)紀(jì)人《職業(yè)導(dǎo)論》名師預(yù)測卷4
- 有關(guān)保健與健康書籍讀書報告
- 二零二五版城市綜合體建設(shè)項(xiàng)目招標(biāo)投標(biāo)合同書3篇
- 二零二五年項(xiàng)目投資與股權(quán)分配合同2篇
- 人教版四年級數(shù)學(xué)下冊第五單元綜合卷(含答案)
- 2024-2025學(xué)年陜西省榆林市榆林二中高一(上)期末數(shù)學(xué)試卷(含答案)
- 山東省濰坊市2024-2025學(xué)年高三上學(xué)期期末 地理試題(無答案)
- 勞動法培訓(xùn)課件
- 2024年建筑施工安全工作計劃(3篇)
- 2024屆九省聯(lián)考英語試題(含答案解析、MP3及錄音稿)
- 倉庫消防知識安全培訓(xùn)
- 從事專業(yè)與所學(xué)專業(yè)不一致專業(yè)技術(shù)人員申報職稱崗位任職合格證明附件6
- 我國房屋建筑模板技術(shù)的研究綜述
- 人教版小學(xué)三年級上冊數(shù)學(xué)豎式筆算練習(xí)題
- 醫(yī)用冰箱溫度登記表
- 口袋妖怪白金光圖文攻略2周目
- 日有所誦(二年級)
評論
0/150
提交評論