JSP課程設計報告-航空售票系統(tǒng)_第1頁
JSP課程設計報告-航空售票系統(tǒng)_第2頁
JSP課程設計報告-航空售票系統(tǒng)_第3頁
JSP課程設計報告-航空售票系統(tǒng)_第4頁
JSP課程設計報告-航空售票系統(tǒng)_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、大學航空售票系統(tǒng)學 院 年 級 姓 名 學 號 指導教師 日 期 jsp 課程設計報告1摘要近些年來,隨著社會的發(fā)展和科技的進步,人們的工作與生活也越來越離不開計算機,每個人都有不同的需求,不同的人有著不同的要求,特別是在網(wǎng)絡發(fā)達的現(xiàn)代,隨著網(wǎng)絡技術的快速發(fā)展和日益普及,基于網(wǎng)絡的訂票系統(tǒng)已經(jīng)被各家航空公司使用,它的開放性、適應性、交互性顯示出了良好的發(fā)展前景,對傳統(tǒng)的訂票方式產(chǎn)生了深刻的影響。 本系統(tǒng)采用 jsp+sql2005 實現(xiàn)了在線訂票,主要包括:用戶注冊、訂單提交、訂單查詢、后臺用戶管理、航班信息管理、訂單管理。該系統(tǒng)能降低人工處理訂票時出錯的幾率,提高工作效率。關鍵字:jsp、s

2、ql、訂票jsp 課程設計報告2目錄摘要11 緒論(設計目的)42 需求分析52.1 需求分析目的52.2 系統(tǒng)功能需求分析52.3 系統(tǒng)架構:62.4 系統(tǒng)流程分析:73 系統(tǒng)設計83.1 數(shù)據(jù)庫設計93.2 界面設計104 系統(tǒng)實現(xiàn)114.1 數(shù)據(jù)庫實現(xiàn)114.2 javabean的編寫114.2.1 jdbc 包114.2.2md5 包124.2.3 enter包124.2.4 register包134.2.4 air_lines包134.2.4.1 line類 134.2.4.2 show_line類 134.2.4.3 a_line類144.2.4.4 amend_ine類154.2

3、.4.5 d_line類 154.2.5 book_line包154.2.5.1 booked_line類154.2.5.2 book_line類164.2.5.3 show_booked_line類164.2.5.4 d_book_line類164.3 前臺模塊實現(xiàn)174.5.1 系統(tǒng)登錄界面如下圖所示:17jsp 課程設計報告34.5.2 用戶注冊界面:204.5.3 用戶頁面所示:214.5.4 管理員界面23結論(心得體會)27jsp 課程設計報告41 緒論(設計目的)自 910 年代以來,因特網(wǎng)技術的飛速發(fā)展正在迅速地改變著人們的生活方式,因特網(wǎng)正在由科學工作者的工具變?yōu)槠胀ò傩斋@取

4、信息、進行交流的場所,而因特網(wǎng)的商業(yè)應用則尤為引人注目。隨著國內(nèi)因特網(wǎng)的發(fā)展,國內(nèi)航空公司也開始醞釀網(wǎng)上訂票、售票業(yè)務。 網(wǎng)上訂票系統(tǒng)是 1 個取代過去由人工處理的訂票系統(tǒng),在 1 定程度上提高了購票的透明度和自主性,但網(wǎng)站在方便消費者的同時,仍存在許多不足的地方。例如,航空公司網(wǎng)站只能提供公司自有航班的機票信息,客觀上限制了人們的選擇范圍;旅行社網(wǎng)站則多以旅游產(chǎn)品為主,很少單獨提供機票的預訂服務,因此其在機票服務的專業(yè)性、豐富性上都會大打折扣。個別旅游、機票銷售的門戶網(wǎng)站雖然可以提供酒店、機票預訂等服務,但因這類網(wǎng)站缺乏實時的機票數(shù)據(jù)信息,因而在其所提供的票務信息的權威性、服務內(nèi)容的專業(yè)性上

5、仍然不盡人意。因此,消費者仍然真正做到自主選購機票,而所獲得的購票體驗也仍存在著“費時費力,無法排除訂票的不確定性”,或者“價格折扣等關鍵信息可信度不高”等負面感覺。 客戶能隨時隨地通過因特網(wǎng)查詢航班的詳細信息,并預定最滿意的航班??蛻魺o須來往與機場和家、辦公室之間,不必在售票點排隊買票或訂票,只要有 1 根網(wǎng)線就能輕松搞定從查詢航班到訂票到取票等 1 系列過程。改 “訂”票服務為的“定”票服務,排除用戶“訂”票后可否獲得所需機票的不確定性;用戶可以自己選擇航班、時刻、艙位,就如同在超市貨架上自選貨物般簡單,從而摒棄了傳統(tǒng)“問訊式”服務的弊端;使航班價格及信息透明化,最大限度地消除了目前機票銷

6、售市場上存在的散、亂、黑等現(xiàn)象,從而使用戶明明白白“定”票,機票代理人明明白白售票,使用戶及機票代理人的合法權益得到最大保障,這就是本系統(tǒng)的開發(fā)目的。jsp 課程設計報告52 需求分析2.1 需求分析目的軟件的需求分析必須要有對原業(yè)務的一個深入了解、提取、抽象、升華的過程,管理軟件需求分析尤其如此。 軟件的需求分析是從用戶的業(yè)務中提取出軟件系統(tǒng)能夠幫助用戶解決的業(yè)務問題,通過對用戶業(yè)務問題的分析,規(guī)劃出我們的軟件產(chǎn)品。這個步驟是對用戶業(yè)務需求的一個升華,是一個把用戶業(yè)務管理流程優(yōu)化,轉(zhuǎn)化為軟件產(chǎn)品,從而提升管理而實現(xiàn)的質(zhì)的飛躍,這一步是否成功,直接關系到開發(fā)出來的軟件產(chǎn)品能否得到用戶認可,順利

7、交付給客戶,客戶能否真正運用我們的產(chǎn)品幫助他解決業(yè)務或管理問題。按照軟件工程對軟件開發(fā)過程的描述,需求階段我們可以細分為需求調(diào)研和需求分析兩個小階段,需求調(diào)研需要充分細致的了解客戶目標,用戶業(yè)務內(nèi)容、流程等,這是一個對需求的采集過程,是進行需求分析的基礎準備。當我們已經(jīng)了解、理解了用戶的業(yè)務,于是可以開始分析需求了。2.2 系統(tǒng)功能需求分析在本系統(tǒng)設計的過程中,我詳細分析了航空售票系統(tǒng)流程。得出了此系統(tǒng)中需要主要解決的問題:功能要求:(1)錄入:可以錄入航班情況(數(shù)據(jù)可以存儲在一個數(shù)據(jù)文件中,數(shù)據(jù)結構、具體數(shù)據(jù)自定)(2)查詢:可以查詢某個航線的情況(如,輸入航班號,查詢起降時間,起飛抵達城市

8、,航班票價,票價折扣,確定航班是否滿倉);可以輸入起飛抵達城市,查詢飛機航班情況;(3)訂票:(訂票情況可以存在一個數(shù)據(jù)文件中,結構自己設定)可以訂票,如果該航班已經(jīng)無票,可以提供相關可選擇航班;(4)修改航班信息:當航班信息改變可以修改航班數(shù)據(jù)文件 jsp 課程設計報告62.3 系統(tǒng)架構:jsp,html文件javabean ,servletsql2005系系統(tǒng)統(tǒng)架架構構三三層層架架構構用戶界面層用戶處理層數(shù)據(jù)儲存層jsp 課程設計報告72.4 系統(tǒng)流程分析: 用戶登錄 讀取用戶類型1.添加管理航班信息2.刪除修改航班信息3.查看預訂航班信息1.查看可預訂航班號2.預訂航班3.查看刪除預訂航

9、班號成功admin會員開始圖 2-1 系統(tǒng)分析圖本系統(tǒng)采用通用的 mvc 架構利用 jsp+servlet+javabean(ejb)模式 ,系統(tǒng)數(shù)據(jù)庫采用 sql server 2005 作為數(shù)據(jù)庫。sql server 2005 軟件提供了十分快速的多線程、多用戶、牢靠的 sql(結構化查詢語言)數(shù)據(jù)庫服務器。 sql server 2005 服務器定位于任務關鍵型、重負荷生產(chǎn)系統(tǒng),并能嵌入在大量部署的軟件中。在任何平臺上,客戶端可使用 tcp/ip 協(xié)議連接到 sql server 2005 服務器。在 windows 系統(tǒng)的 nt 系列中(nt、2000、xp 或 2003) ,客戶端

10、可使用命名管道進行連接。connector/j 接口為使用 jdbc 連接的 java 客戶端程序提供了 sql server 2005 支持。以 adobe dreamweaver cs4、jdk tomcat 6.0 和 my eclipse 作為程序開發(fā)環(huán)境。adobe dreamweaver cs4 提供了對于 jsp 網(wǎng)頁的可視化集成開發(fā)環(huán)境;jdk 是 java語言編譯器,將 java bean 和 servlet 編譯為.class 字節(jié)碼文件;tomcat 6.0 是一個免費的開源 servlet 容器(jsp 服務器); my eclipse 是一款優(yōu)秀的 jsp 編寫,利用

11、它可以根據(jù)便利的編輯服務器jsp 課程設計報告83 系統(tǒng)設計基于上面的分析,按照軟件工程的思想,對綜合素質(zhì)評價系統(tǒng)進行功能分析:實現(xiàn)系統(tǒng)登錄功能;實現(xiàn)注冊功能;對不同的用戶進行權限分配;采用 css+js+div 設計簡單的菜單樹;不同用戶具有不同的導航樹;管理員能夠添加刪除更新航線;會員能夠查看預訂航線;會員能夠刪除已預訂的航線;根據(jù)以上分析,設計出用戶數(shù)據(jù)流程圖注冊登錄機票預訂預訂機票查看可預訂機票查看預訂過機票機票信息機票信息預訂信息管理員數(shù)據(jù)流程圖jsp 課程設計報告9登錄管理機票添加可預訂機票查看可預訂機票刪除機票機票信息機票信息機票信息:3.1 數(shù)據(jù)庫設計在一個 b/s 系統(tǒng)中數(shù)據(jù)

12、無疑是非常重要的,數(shù)據(jù)的安全性、穩(wěn)定性、可恢復性對使用者起著極其重要的作用。選擇一個健全穩(wěn)定的數(shù)據(jù)庫無疑也是系統(tǒng)實現(xiàn)的首要步驟,本系統(tǒng)選用的是 sql 2005,它能提供大型系統(tǒng)所需的數(shù)據(jù)庫服務。下面將介紹系統(tǒng)的數(shù)據(jù)庫結構。本系統(tǒng)的最主要的功能在與數(shù)據(jù)庫的分配,對不同的用戶采用不同的數(shù)據(jù)庫,和不同的查詢方式。1.用戶表 user_info 圖 3-1 uesr_info 表2.管理員表 admin_infojsp 課程設計報告10 圖 3-2 admin_info 表3.航空信息表 air_line_info 圖 3-3 air_line_info 表4.預訂航空信息表 air_line_bo

13、ok圖 3-4 air_line_book 表3.2 界面設計界面的設計是 b/s 系統(tǒng)開發(fā)的關鍵步驟,因為它在某種程度上體現(xiàn)了程序開發(fā)的質(zhì)量和水平。本系統(tǒng)的主要功能集中在后臺驗證權限,由于此系統(tǒng)中涉及到的 jsp面比較多,且沒有主次區(qū)分,所以具體界面留至下章實現(xiàn)。jsp 課程設計報告114 系統(tǒng)實現(xiàn)4.1 數(shù)據(jù)庫實現(xiàn)啟動 sql2005;登陸 sql2005 命令界面,連接登陸;在 sql2005 下提示符下執(zhí)行創(chuàng)建數(shù)據(jù)庫和各個表的命令,完成所需數(shù)據(jù)庫和表的創(chuàng)建,然后在相關表中插入適量測試用的數(shù)據(jù)。4.2 javabean 的編寫在 jsp 技術中,javabeans 就是用來封裝業(yè)務邏輯。

14、本系統(tǒng)中 javabean 主要是用來封裝數(shù)據(jù)庫的訪問操作的。本系統(tǒng)一共有 4 個包,分別對各個方面進行信息管理。下面是對主要的包進行詳細解釋。4.2.1 jdbc 包jdbc 包是專門用來負責連接數(shù)據(jù)庫的,包內(nèi)有一個類 jdbc。jdbc 類主要負責數(shù)據(jù)庫連接。package jdbc;import java.sql.*;import java.util.*;public class jdbc private int inuse=0; private int max=999; private vector connections=new vector(); public synchroniz

15、ed void releaseconnection(connection con) connections.addelement(con); inuse-; public synchronized connection getconnection() connection con=null; if(connections.size()0) con=(connection) connections.elementat(0); connections.removeelementat(0); try if(con.isclosed() con=getconnection(); catch(sqlex

16、ception e)jsp 課程設計報告12 else if(max=0|inusemax) con=newconnection(); if(con!=null) inuse+; return con; private connection newconnection() connection con=null;string username=jian;string password=modemima;string url=jdbc:odbc:jianyue;string dbdriver=sun.jdbc.odbc.jdbcodbcdriver; try class.forname(dbdr

17、iver); catch(exception e) try con=drivermanager.getconnection(url, username, password); catch(sqlexception e) e.printstacktrace(); return null; return con; public synchronized void closecon() enumeration allconnections=connections.elements(); while(allconnections.hasmoreelements() connection con=(co

18、nnection)allconnections.nextelement(); trycon.close();catch(sqlexception e) connections.removeallelements(); 4.2.2md5 包md5 包用來對密碼進行加密。通過包中類 md5.java 來實現(xiàn)。類 md5.java 代碼略。4.2.3 enter 包check 用來實現(xiàn)用戶登陸網(wǎng)站的權限及合法性驗證,check 包下只有一個類jsp 課程設計報告13check.java,這個類實現(xiàn)了登陸網(wǎng)站的權限及合法性驗證。代碼如略。4.2.4 register 包register 主要實現(xiàn)注冊功

19、能,以及數(shù)據(jù)庫相關操作。register 包下有兩個類add.java 和 db_user.java;代碼略;4.2.4 air_lines 包air_lines 包用來對航空線路的相關信息進行管理,下面介紹其中的類4.2.4.1 lineline 類類line 類是根據(jù)數(shù)據(jù)庫中的航空信息表 air_line_info 設計而成的,代碼略4.2.4.2 show_line 類類show_line;類是根據(jù)航空線路關鍵字查詢出相應的線路名稱,代碼如下:package tour_lines;import java.sql.*;import java.util.*;import java.io.*;

20、public class show_linepublic string tour_line_name;public collection col=new arraylist();public connection con;public collection show() throws exception trystatement statement=con.createstatement(resultset.type_scroll_sensitive,resultset.concur_updatable);string sql=select * from tour_line_info wher

21、e air_line_name like +%+air_line_name+%+;resultset r=statement.executequery(sql);while(r.next()line li=new line();li.settour_line_name(r.getstring(1);col.add(li);catch(sqlexception ee)return col;jsp 課程設計報告144.2.4.3 a_line 類類a_line 類用來在數(shù)據(jù)庫中寫入新的航空線路信息,主要代碼如下:package tour_lines;import java.sql.*;public

22、 class a_linepublic string air_line_name;public string air_line_pirce;public string air_line_tejia;public string air_line_comp;public string tour_line_time;public connection con;public boolean a_exe() throws exception trystatement statement=con.createstatement(resultset.type_scroll_sensitive,results

23、et.concur_updatable);string sql=insert into air_line_info (air_line_name,air_line_tejia,air_line_pirce,tour_line_comp,tour_line_time) values (+air_line_name+,+air_line_tejia+,+air_line_price+,+air_line_comp+,+air_line_time+);system.out.print(sql);statement.executeupdate(sql);return true;catch(sqlexc

24、eption ee)return false;jsp 課程設計報告154.2.4.4 amend_ine 類類amend_line 類實現(xiàn)對數(shù)據(jù)庫中現(xiàn)有記錄內(nèi)容進行更新,代碼與 a_line 相似,略:4.2.4.5 d_line 類類d_line 類用來刪除數(shù)據(jù)庫中已經(jīng)存在的線路信息,代碼與 a_line 相似,略:4.2.5 book_line 包book_line 包下的類主要完成預定線路的構建,顯示和刪除4.2.5.1 booked_line 類類booked_line 類是根據(jù)數(shù)據(jù)庫中預定航空線路表設計的,是預定線路的一個抽象,其中描述了預定線路的屬性以及這些屬性值的取值和設置方法。

25、代碼如下:package book_line;import java.sql.*;public class book_linepublic string air_line_name;public string user_name;public string book_time;public connection con;public boolean book_exe() throws exception trystatement statement=con.createstatement(resultset.type_scroll_sensitive,resultset.concur_upda

26、table);string sql=insert into tour_line_book (tour_line_name,user_name,book_time) values (+air_line_name+,+user_name+,+book_time+);statement.executeupdate(sql);return true;catch(sqlexception ee)jsp 課程設計報告16return false;4.2.5.2 book_line 類類book_line 類主要負責把用戶預定的線路信息寫入數(shù)據(jù)庫,代碼與 book_line 類相似,略。4.2.5.3 sh

27、ow_booked_line 類類show_booked_line 類主要用來顯示某個用戶預訂的線路信息,代碼與 air_line 包的show_line 類相似,略。4.2.5.4 d_book_line 類類d_book_line 類用來刪除用戶已經(jīng)預訂的航空線路,代碼與 air_line 包的 d_line 類相似,略。jsp 課程設計報告174.3 前臺模塊實現(xiàn)4.5.1 系統(tǒng)登錄界面如下圖所示:圖4-1 登錄界面 登錄 login.jsp 負責登錄傳值,主要代碼 base href= 登陸界面function od()var f=document.form1;if(f.usernam

28、e.value=)alert(用戶名未輸入);f.username.focus();jsp 課程設計報告18f.username.select();return;if(f.password.value=)alert(密碼未輸入);f.password.focus();f.password.select();return; function callnm() window.location.href=regist.jsp !-  歡迎航空售票系統(tǒng)    jsp 課程設計報告19 用戶名: 密碼: 會員 管理員 輸入用戶名,密碼,權限傳遞到 enter.jsp 進行合法性驗證:4.5.2 用戶注冊界面: 由于其頁面與登陸模塊相似,此處不再列出jsp 課程設計

溫馨提示

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

評論

0/150

提交評論