網(wǎng)絡(luò)編程課程設(shè)計(jì)報(bào)告--- 網(wǎng)上汽車租賃系統(tǒng)_第1頁(yè)
已閱讀1頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  課程設(shè)計(jì)說(shuō)明書</b></p><p>  班級(jí): 網(wǎng)絡(luò)工程B082 學(xué)號(hào): </p><p>  姓名: </p><p>  設(shè)計(jì)題目: 網(wǎng)上汽車租賃系統(tǒng) </p>&

2、lt;p>  設(shè)計(jì)時(shí)間: 2011.12.5 至 2011.12.16 </p><p>  指導(dǎo)教師: </p><p>  評(píng) 語(yǔ):_________________________________</p><p>  ________________________

3、_________________</p><p>  _________________________________________</p><p>  _________________________________________</p><p>  _________________________________________</p>

4、<p>  評(píng)閱成績(jī):__ __評(píng)閱教師:__ ___</p><p>  一.題目介紹---------------------------------------------------------------------------------------3</p><p>  二.功能分析與模塊劃分--------------------------------

5、----------------------------------------3</p><p>  2.1系統(tǒng)用例圖--------------------------------------------------------------------------------------3</p><p>  2.2 車輛信息輸入----------------------------

6、------------------------------------------------------3</p><p>  2.3列出所有車輛-----------------------------------------------------------------------------------4</p><p>  2.4刪除車輛-------------------

7、----------------------------------------------------------------------4</p><p>  2.5 租車----------------------------------------------------------------------------------------------4</p><p>  2.

8、6 出租的列表-------------------------------------------------------------------------------------4</p><p>  2.7 還車----------------------------------------------------------------------------------------------4<

9、;/p><p>  2.8 統(tǒng)計(jì)租金----------------------------------------------------------------------------------------4</p><p>  三數(shù)據(jù)庫(kù)設(shè)計(jì)方案------------------------------------------------------------------------

10、---------4</p><p>  3.1設(shè)計(jì)兩個(gè)表--------------------------------------------------------------------------------------4</p><p>  3.2創(chuàng)建數(shù)據(jù)庫(kù)的代碼----------------------------------------------------------

11、-------------------5</p><p>  四.各Strtus部件的設(shè)計(jì):功能/實(shí)現(xiàn)的Action/使用的Form-bean(及數(shù)據(jù)驗(yàn)證)/界面/轉(zhuǎn)發(fā)5</p><p>  4.1struts結(jié)構(gòu)-----------------------------------------------------------------------------------------

12、5</p><p>  4.2基于struts的車輛租賃管理系統(tǒng)-------------------------------------------------------------6</p><p>  4.3Struts部件--------------------------------------------------------------------------------

13、---------7</p><p>  4.4文件說(shuō)明------------------------------------------------------------------------------------------7</p><p>  4.5 輸入車輛信息的部件-----------------------------------------------------

14、----------------------8</p><p>  4.6輸入租車信息的部件----------------------------------------------------------------------------8</p><p>  4.7還車---------------------------------------------------------

15、----------------------------------------9</p><p>  4.8分類統(tǒng)計(jì)-------------------------------------------------------------------------------------------9</p><p>  4.9運(yùn)行界面---------------------------

16、---------------------------------------------------------------10</p><p>  4.10數(shù)據(jù)驗(yàn)證-----------------------------------------------------------------------------------------12</p><p>  五.java bea

17、n的設(shè)計(jì):各個(gè)類的功能,實(shí)現(xiàn)方法--------------------------------------------13</p><p>  5.1給個(gè)類的功能-------------------------------------------------------------------------------------13</p><p>  5.2對(duì)數(shù)據(jù)庫(kù)操作的一些類的方法

18、功能介紹----------------------------------------------------13</p><p>  5.2.1 CarDB.java類-----------------------------------------------------------------------------------13</p><p>  5.2.1 MyDB.jav

19、a封裝對(duì)數(shù)據(jù)庫(kù)的連接-----------------------------------------------------------13</p><p>  5.2.3 CharEncodingFilter.java類--------------------------------------------------------------------14</p><p>  六.中

20、文解決方案------------------------------------------------------------------------------------14</p><p>  6.1validate()驗(yàn)證中錯(cuò)誤信息提示的中文處理-----------------------------------------------14</p><p>  6.2jsp頁(yè)

21、面采用”UTF-8”的編碼形式-----------------------------------------------------------14</p><p>  6.3配置過(guò)濾器處理頁(yè)面的中文顯示問(wèn)題,過(guò)濾器的使用方法如下-----------------------14</p><p>  七.測(cè)試方案-------------------------------------

22、------------------------------------------------------15一.題目介紹</p><p>  某汽車租賃公司需要一個(gè)租車管理系統(tǒng)。要求具有以下功能:<1. 管理車輛基本信息,增加/刪除/列表;<2. 能進(jìn)行租車/還車操作;<3. 按車輛類別統(tǒng)計(jì)租金(雖然是選做,已做好)。車輛基本信息包括:車輛類別(大客/面包/轎車),品牌型號(hào),車牌

23、號(hào),租車價(jià)格;租車時(shí)應(yīng)記錄:租車日期,車輛id,客戶名稱;還車時(shí)應(yīng)記錄:還車日期。</p><p>  二.功能分析與模塊劃分</p><p><b>  2.1系統(tǒng)用例圖</b></p><p>  2.2 車輛信息輸入</p><p>  用戶可以錄入車輛信息,車輛信息表包括</p><p&g

24、t;  id(自動(dòng)編號(hào)) category model no price flag</p><p>  每個(gè)字段的含義及解釋</p><p>  id:為 int 類型 定義為主鍵 自動(dòng)增長(zhǎng)</p><p>  category:車輛的類別,以下拉列表的形式給出列表的內(nèi)容包括三種類型大客車、面包車、小轎車</p><p>

25、  model:車輛的型號(hào)</p><p><b>  no:車輛的車牌號(hào)</b></p><p>  price:租車的價(jià)格 單位為/元</p><p>  flag:用來(lái)標(biāo)記車輛的出租狀態(tài)</p><p>  2.3列出所有車輛;</p><p>  當(dāng)輸入車輛信息后,將跳轉(zhuǎn)到車輛信息列表頁(yè),

26、把數(shù)據(jù)庫(kù)中所有的車輛信息取出來(lái)顯示到前臺(tái)的jsp 頁(yè)面,并根據(jù)多表連接來(lái)判斷這些車輛的出租狀態(tài),也就是說(shuō)這些車輛有沒(méi)有被出租</p><p><b>  2.4刪除車輛;</b></p><p>  在車輛信息列表頁(yè)中有刪除車輛信息的鏈接,根據(jù)autos表中的id來(lái)刪除車輛信息,刪</p><p>  除后,跳轉(zhuǎn)到原來(lái)的頁(yè)面。</p>

27、;<p><b>  2.5 租車;</b></p><p>  首先判斷哪些車輛沒(méi)有被出租出去,然后把沒(méi)有被出租的車輛顯示在租車頁(yè)面的下拉列表中,此時(shí)用戶只需要填寫 出租人的姓名就可以租車了,其實(shí)后臺(tái)數(shù)據(jù)庫(kù)已經(jīng)把出租的車輛信息寫進(jìn)了數(shù)據(jù)庫(kù)中的 leases表,這一動(dòng)作包括這些信息被寫進(jìn)了數(shù)據(jù)庫(kù) id(自動(dòng)編號(hào)),customer(客戶姓名),leasedate(出租日期),r

28、etured(是否還車),returned(還車日期)</p><p>  2.6 出租的列表;</p><p>  被出租的車輛信息及出租的日期,出租人等一些信息通過(guò)多表連接查詢顯示到出租列表頁(yè)面</p><p><b>  2.7 還車</b></p><p>  在出租列表頁(yè)面每條信息的后面都有還車鏈接,點(diǎn)擊連接將

29、進(jìn)行還車操作,后臺(tái)數(shù)據(jù)庫(kù)將根據(jù)id將相應(yīng)的 retured字段的值改為還車標(biāo)記(0表示未還,1表示已經(jīng)還了)</p><p><b>  2.8 統(tǒng)計(jì)租金</b></p><p>  根據(jù)車輛的類別來(lái)統(tǒng)計(jì)租金,并把統(tǒng)計(jì)的結(jié)果顯示在統(tǒng)計(jì)頁(yè)面</p><p><b>  數(shù)據(jù)庫(kù)設(shè)計(jì)方案</b></p><p

30、><b>  3.1設(shè)計(jì)兩個(gè)表:</b></p><p>  車輛信息autos(id,category類別,model型號(hào),no車牌號(hào),price租車價(jià)格)</p><p>  租車信息leases(id,autoId車輛id,customer客戶名稱,leaseDate租車日期,returned是否還車?,returnDate還車日期)</p>

31、<p>  3.2創(chuàng)建數(shù)據(jù)庫(kù)的代碼</p><p>  create database carmanage;</p><p>  use carmanage;</p><p>  create table autos</p><p>  (id int primary key auto_increment,</p>

32、<p>  category varchar(50) not null,</p><p>  model varchar(50) not null,</p><p>  no varchar(50) not null,</p><p>  price double </p><p>  )ENGINE=InnoDB DEFAULT

33、 CHARSET=utf8;</p><p>  create table leases</p><p><b>  (</b></p><p>  id int primary key auto_increment,</p><p>  autoId int not null,</p><p>

34、;  customer varchar(20) not null,</p><p>  leasedate date,</p><p>  returned int default 0,</p><p>  returndate date</p><p>  )ENGINE=InnoDB DEFAULT CHARSET=utf8;</p

35、><p>  各Strtus部件的設(shè)計(jì):功能/實(shí)現(xiàn)的Action/使用的Form-bean(及數(shù)據(jù)驗(yàn)證)/界面/轉(zhuǎn)發(fā)</p><p>  4.1struts結(jié)構(gòu)</p><p>  對(duì)于開(kāi)發(fā)Web應(yīng)用,要從頭設(shè)計(jì)并開(kāi)發(fā)出一個(gè)可靠、穩(wěn)定的框架不是一件容易的事情,隨著Web開(kāi)發(fā)技術(shù)的日趨成熟,在web開(kāi)發(fā)領(lǐng)域出現(xiàn)了一些現(xiàn)成的優(yōu)秀的框架,開(kāi)發(fā)者可以直接使用它們,struct就

36、是一個(gè)很好的框架結(jié)構(gòu),它是在JSP Model2基礎(chǔ)上實(shí)現(xiàn)的一個(gè)MVC框架,它可以使你不必要從頭開(kāi)始全部開(kāi)發(fā)組件,對(duì)于大項(xiàng)目更是很好的。在Strcut框架中模型由實(shí)現(xiàn)業(yè)務(wù)邏輯的JavaBean或者EJB組件構(gòu)成,控制器由ActionSevelet和Action來(lái)實(shí)現(xiàn),視圖由一組JSP文件組成,圖B-5顯示了Struct實(shí)現(xiàn)的MVC框架。</p><p><b>  其中:</b></p

37、><p>  視圖:就是一組JSP文件,這些JSP文件沒(méi)有業(yè)務(wù)邏輯,也沒(méi)有模型信息,只有標(biāo)簽,這些標(biāo)簽可以是標(biāo)準(zhǔn)的JSP標(biāo)簽或者是客戶化標(biāo)簽,如Struct標(biāo)簽庫(kù)的標(biāo)簽。此外,通常將Strcut框架中的ActionForm Bean也劃為視圖模塊中,ActionForm Bean是一種JAVABEAN,除了具有一些JAVABean的常規(guī)方法外,還包含了一些特殊的方法,用于驗(yàn)證HTML表單數(shù)據(jù)以及將其屬性重新設(shè)置默認(rèn)值

38、。Struct框架利用ActionForm Bean來(lái)進(jìn)行視圖和控制器之間表單數(shù)據(jù)的傳遞。Strcut框架將用戶輸入的表單數(shù)據(jù)保存在ActionForm Bean中,將它傳遞給控制器,控制器可以對(duì)ActionForm Bean中的數(shù)據(jù)進(jìn)行修改,JSP文件使用Strcut標(biāo)簽讀取修改后的ActionForm Bean的信息,重新設(shè)置HTML表單。</p><p>  控制器:控制器由ActionServlet類和A

39、ction類實(shí)現(xiàn),ActionServlet類是Struct框架中的核心組件。是這個(gè)MVC的中央控制器的角色,ActionServlet主要負(fù)責(zé)接收HTTP請(qǐng)求的信息,根據(jù)配置文件struct-config.xml的配置信息,將請(qǐng)求轉(zhuǎn)發(fā)給適當(dāng)?shù)腁ction對(duì)象,如果該Action對(duì)象不存在,ActionServlet會(huì)先創(chuàng)建這個(gè)Action對(duì)象。Action類負(fù)責(zé)調(diào)用模型的方法,更新模型的狀態(tài),并幫助控制應(yīng)用程序的流程,對(duì)于小型簡(jiǎn)單的應(yīng)

40、用,Action類本身也可以完成一些實(shí)際的業(yè)務(wù)邏輯。</p><p>  模型:模型表示應(yīng)用程序的狀態(tài)和業(yè)務(wù)邏輯,業(yè)務(wù)邏輯常常由JavaBean或者EJB組件實(shí)現(xiàn)。</p><p>  如果在Web應(yīng)用開(kāi)發(fā)中套用現(xiàn)成的Struct框架,可以簡(jiǎn)化每個(gè)開(kāi)發(fā)階段的工作,開(kāi)發(fā)人員可以更加有針對(duì)性地分析應(yīng)用需求,不必重新設(shè)計(jì)框架,只需在Struct框架的基礎(chǔ)上,設(shè)計(jì)MVC各個(gè)模塊包含的具體組件,在編

41、碼過(guò)程中,可以充分利用Struct提供的各種實(shí)用類和標(biāo)簽庫(kù),簡(jiǎn)化編碼工作。</p><p>  Struct框架可以方便迅速地將一個(gè)復(fù)雜的應(yīng)用劃分成模型、視圖和控制器組件,而Struct的配置文件struct-config.xml可以靈活地組裝這些組件,簡(jiǎn)化開(kāi)發(fā)過(guò)程。</p><p>  4.2基于struts的車輛租賃管理系統(tǒng)</p><p>  4.3Strut

42、s部件</p><p><b>  4.4文件說(shuō)明</b></p><p>  4.5 輸入車輛信息的部件</p><p>  4.6輸入租車信息的部件</p><p><b>  4.7還車</b></p><p><b>  4.8分類統(tǒng)計(jì)</b>&

43、lt;/p><p><b>  4.9運(yùn)行界面</b></p><p><b> ?。?)插入車輛信息</b></p><p> ?。?)車輛信息列表和刪除操作</p><p><b> ?。?)分類統(tǒng)計(jì)租金</b></p><p><b> ?。?/p>

44、4) 還車操作</b></p><p><b>  4.10數(shù)據(jù)驗(yàn)證</b></p><p>  輸入車輛信息的數(shù)據(jù)驗(yàn)證 InputAutoForm.java 文件中的 validate方法</p><p>  如果不符合和則返回到 inputAuto.jsp頁(yè)面輸出錯(cuò)誤提示信息</p><p>  主要驗(yàn)

45、證判斷所輸入的車輛型號(hào)和車牌是否為空的錯(cuò)誤驗(yàn)證</p><p>  和輸入的價(jià)格是否為數(shù)字類型的驗(yàn)證</p><p>  public ActionErrors validate(ActionMapping mapping,</p><p>  HttpServletRequest request) {</p><p>  // TODO A

46、uto-generated method stub</p><p>  ActionErrors errors = new ActionErrors();</p><p>  if (model == null || model.length() == 0) {</p><p>  errors.add("model_error",new Act

47、ionMessage("model_error"));</p><p><b>  }</b></p><p>  if (no == null || no.length() != 7) {</p><p>  errors.add("no_error",new ActionMessage("n

48、o_error"));</p><p><b>  }</b></p><p>  //判斷所輸入的 車輛型號(hào)和車牌是否為空的錯(cuò)誤驗(yàn)證</p><p><b>  try {</b></p><p>  if (!(Double.parseDouble(price)>=100&

49、;&Double.parseDouble(price)<=2000)) {</p><p>  errors.add("price1",new ActionMessage("price1"));</p><p><b>  }</b></p><p>  } catch (NumberFor

50、matException e) {</p><p>  // TODO Auto-generated catch block</p><p>  System.out.println(e);</p><p>  errors.add("price1",new ActionMessage("price1"));</p>

51、;<p>  return errors;</p><p><b>  }</b></p><p>  //輸入的價(jià)格是否為數(shù)字類型的驗(yàn)證</p><p>  return errors;</p><p><b>  }</b></p><p>  2.輸入租車

52、信息的驗(yàn)證 LeaseForm.java 中的 validate 方法</p><p>  如果不符合驗(yàn)證規(guī)則將返回到leaseAuto.jsp頁(yè)面并輸出錯(cuò)誤提示信息,如果驗(yàn)證通過(guò)將跳轉(zhuǎn)到leaseok.jsp頁(yè)面顯示租車成功的信息</p><p>  驗(yàn)證所輸入的用戶名是否為空</p><p>  public ActionErrors validate(Act

53、ionMapping mapping,</p><p>  HttpServletRequest request) {</p><p>  // TODO Auto-generated method stub</p><p>  ActionErrors errors = new ActionErrors();</p><p>  if (c

54、ustomer== null || customer.length() == 0) {</p><p>  errors.add("customer_error",new ActionMessage("customer_error"));</p><p><b>  }</b></p><p>  ret

55、urn errors;</p><p><b>  }</b></p><p>  java bean的設(shè)計(jì):各個(gè)類的功能,實(shí)現(xiàn)方法</p><p><b>  5.1給個(gè)類的功能</b></p><p>  5.2對(duì)數(shù)據(jù)庫(kù)操作的一些類的方法功能介紹</p><p>  1

56、CarDB.java類</p><p>  2 MyDB.java封裝對(duì)數(shù)據(jù)庫(kù)的連接</p><p>  3 CharEncodingFilter.java類</p><p><b>  中文解決方案</b></p><p>  6.1validate()驗(yàn)證中錯(cuò)誤信息提示的中文處理</p><p&g

57、t;  采用java安裝目錄下的 x:\Java\jdk1.5.0_04\bin\ native2ascii.exe</p><p><b>  文件進(jìn)行中文轉(zhuǎn)碼</b></p><p>  然后輸出中文提示的錯(cuò)誤信息</p><p>  jsp頁(yè)面采用”UTF-8”的編碼形式</p><p>  配置過(guò)濾器處理頁(yè)面的

58、中文顯示問(wèn)題,過(guò)濾器的使用方法如下</p><p>  (1)首先寫好過(guò)濾器的java文件,代碼如下</p><p>  public class CharEncodingFilter implements Filter {</p><p>  public void destroy() {</p><p><b>  }</

59、b></p><p>  public void doFilter(ServletRequest request, ServletResponse response, </p><p>  FilterChain chain) throws IOException, ServletException {</p><p>  request.setCharact

60、erEncoding("UTF-8");</p><p>  chain.doFilter(request, response);</p><p><b>  }</b></p><p>  public void init(FilterConfig arg0) throws ServletException {</p

61、><p><b>  }</b></p><p><b>  }</b></p><p> ?。?)然后在web.xml中配置相關(guān)的映射環(huán)境,配置代碼如下</p><p><b>  <filter></b></p><p>  <filt

62、er-name>CharEncodingFilter</filter-name></p><p>  <filter-class>chenxin.CharEncodingFilter</filter-class></p><p><b>  </filter></b></p><p>  &

63、lt;filter-mapping></p><p>  <filter-name>CharEncodingFilter</filter-name></p><p>  <url-pattern>/*</url-pattern></p><p>  </filter-mapping></p>

64、;<p><b>  測(cè)試方案</b></p><p>  7.1輸入車輛信息測(cè)試</p><p>  (1)當(dāng)輸入車輛類型為空,車牌號(hào)為空時(shí),價(jià)格正常時(shí),查看結(jié)果</p><p>  測(cè)試用例為 類型=null 車牌號(hào)=null 價(jià)格=244</p><p>  系統(tǒng)提示 車輛類型為空,車牌號(hào)為空

65、,</p><p><b>  (2)測(cè)試用例</b></p><p>  類型=null 車牌號(hào)=1234567 價(jià)格=244</p><p><b>  提示 車輛類型為空</b></p><p><b> ?。?)測(cè)試用例</b></p><p>

66、;  類型=奔馳 車牌好=11 價(jià)格=456</p><p>  提示 車牌號(hào)必須為七位</p><p><b> ?。?)測(cè)試用例</b></p><p>  類型=奔馳 車牌好=11 價(jià)格=null</p><p>  提示 價(jià)格必須在 200-2000之間</p><p><b

67、> ?。?)測(cè)試用例</b></p><p>  類型=奔馳 車牌好=11 價(jià)格=漢字</p><p>  提示 價(jià)格必須在 200-2000之間</p><p><b> ?。?)測(cè)試用例</b></p><p>  類型=寶馬 車牌號(hào)=8888888 價(jià)格=1000</p>&

68、lt;p><b>  成功跳轉(zhuǎn)</b></p><p>  ··········</p><p>  7.2輸入租車信息測(cè)試</p><p><b> ?。?)測(cè)試用例</b></p><p>

69、<b>  租車人=null</b></p><p>  提示 租車人不能為空</p><p><b>  (2)測(cè)試用例</b></p><p><b>  租車人= </b></p><p>  提示 租車人不能為空</p><p><b&

70、gt; ?。?)測(cè)試用例</b></p><p><b>  租車人=**</b></p><p><b>  成功跳轉(zhuǎn)</b></p><p><b>  八.項(xiàng)目總結(jié)</b></p><p>  在Web應(yīng)用開(kāi)發(fā)中套用現(xiàn)成的Struct框架,可以簡(jiǎn)化每個(gè)開(kāi)發(fā)階段

71、的工作,開(kāi)發(fā)人員可以更加有針對(duì)性地分析應(yīng)用需求,不必重新設(shè)計(jì)框架,只需在Struct框架的基礎(chǔ)上,設(shè)計(jì)MVC各個(gè)模塊包含的具體組件,在編碼過(guò)程中,可以充分利用Struct提供的各種實(shí)用類和標(biāo)簽庫(kù),簡(jiǎn)化編碼工作。</p><p>  Struct框架可以方便迅速地將一個(gè)復(fù)雜的應(yīng)用劃分成模型、視圖和控制器組件,而Struct的配置文件struct-config.xml可以靈活地組裝這些組件,簡(jiǎn)化開(kāi)發(fā)過(guò)程。</p

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論