計算機畢業設計 jsp航空訂票系統(ssh) 畢設2
演示視頻:
https://www.bilibili.com/video/BV1tN4y1b7sJ/
3.1JSP技術簡介
JSP(Java Server Page服務器網頁)是從1998年開始出現的新技術。由Sun公司倡導、許多公司參與一起建立的一種動態網頁技術標準,是基于JavaServlet以及整個Java體系的web開發技術。在傳統的網頁HTML文件(*.htm,*.html)中加入腳本片段和JSP標記(Tag),構成JSP網頁(*.jsp)。JSP技術為創建顯示動態生成內容的web頁面提供了簡便的方法。JSP作為Java家族的一員,承襲了Java的特點,即跨平臺的特性,也即一次編譯,到處運行。
在國外,己經大量使用JSP作為網絡應用程序的開發工具,而在國內,盡管JSP還不是主流開發技術,但是由于JSP的強大優勢,許多網站都已經準備轉向JSP,利用JSP來開發動態網站。
3.2 JSP工作原理
JSP是面向服務器的,因此支持任何瀏覽器。當Web服務器和JSP引擎遇到訪問JSP網頁的請求時,JSP引擎將請求對象發送給服務器端的相關組件,比如JavaBean組件、Servlet或EJB等,然后由服務器端組件處理這些請示,可能需要從數據庫或數據存儲中檢索信息,然后服務器端組件再將響應對象返回JSP引擎。JSP引擎將響應對象傳遞給JSP頁面,根據JSP頁面的HTML格式完成數據編排,Zui后Web服務器和JSP引擎將格式化后的JSP頁面以HTML格式返回客戶瀏覽器。這就是當前網站構建中廣泛采用的瀏覽器——Web服務器——后臺數據庫的三層架構模式。因為JSP所有程序操作都在服務器端執行,網絡上傳送給客戶端的僅是得到的結果。
3.3JSP體系結構
JSP網站開發標準給出了兩種使用JSP的技術,可以歸納為模式一、模式二。
模式一:JSP+JavaBeans技術 在這種模式中,JSP頁面獨自響應請求并將處理結果返回給客戶。Bean處理所有數據訪問,JSP實現頁面的表現,以實現內容生成與顯示相分離。當處理復雜的大型應用時,頁面被嵌入大量的腳本或Java代碼段,當需要處理的商業邏輯復雜時,這種情況會變得非常糟糕,大量的內嵌代碼使得頁面程序變得復雜,對于前端界面設計人員,這是不可思議的事情。所以模式一可用于小型應用,不能夠滿足大型應用的需要。
模式二:JSP+Servlet+JavaBeans技術 Servlet技術是一種采用Java技術來實現CGI功能的一種技術,Servlet技術非常適于服務器端的處理和編程,并且Servlet會長期駐留在內存。
從開發的觀點看,模式二具有更清晰的頁面表現,清楚的開發者角色劃分,在大規模項目開發中,模式二更被采用,模式二也更符合當前流行的MVC結構(Model/view/controller),其中Servlet對應controller,處于控制者的位置,處理HTTP請求,負責生成JSP中使用的Beans組件或對象,并判斷應將請求傳遞給哪個JSP等,JSP對應view,負責生成Zui終的動態網頁并返回給瀏覽器。而JavaBeans對應的是Model,實現各個具體的應用邏輯與功能。
3.4 JSP的特點
1.簡化的頁面生成技術。
JSP頁面用標準的HTML或XML命令來處理頁面的格式化和布局設計,而用類似HTML、XML的標記和Java語言編寫的腳本程序生成頁面內容。這使得頁面形式與頁面內容互相獨立,非常有利于大型項目的分工合作。
2.與Java平臺有機集成。
JSP技術是Java 2平臺的重要組成部分,JSP使用Java語言作為它的腳本語言。在JSP頁面中可以使用幾乎所有的Java組件和Java API,這就能充分發揮出Java語言的強大功能。使用JSP技術可以創建具有高度可伸縮性和可靠性的Web應用程序。
3.硬件平臺和服務器無關性。
JSP作為Java家族的一員,秉承了Java技術的“一次編寫,隨處可用(Write Once,Rum Anywhere)”的特性,可以運行于大多數流行的操作系統平臺及Web服務器,這種與服務器硬件和操作系統平臺的無關性是JSP相對于其它動態網頁技術Zui大的一個優點。
4.功能可擴展性。
如同Microsoft的JSP技術可以通過ActiveX/COM組件來擴展功能一樣,JSP可以通過JavaBean和EJB(Enterprise JavaBean)以及自定義的標記來擴展功能。
JSP可以通過JDBC,與諸如Oracle、SQL Server這樣的大型關系數據庫進行連接。
JSP提供了一些隱含對象。這些隱含對象在JSP頁面中可以直接引用,而不必首先聲明。利用JSP提供的這些隱含對象,可以使腳本功能更加強大,并且編程更加容易、方便。例如,利用request對象,可以很容易地接收用戶在HTML表單中提交的信息。
3.5 SQLSERVER 2000 數據庫
SQL Server是由Microsoft開發和推廣的關系數據庫管理系統(DBMS),它Zui初是由Microsoft、Sybase和Ashton-Tate三家公司共同開發的,并于1988年推出了第一個OS/2版本。 SQL Server近年來不斷更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用戶見面;SQL Server 2000是Microsoft公司于2000年推出的Zui新版本。 SQL Server 特點:
1.真正的客戶機/服務器體系結構。
2.圖形化用戶界面,使系統管理和數據庫管理更加直觀、簡單。
3.豐富的編程接口工具,為用戶進行程序設計提供了更大的選擇余地。
4.SQL Server與Windows NT完全集成,利用了NT的許多功能,如發送和接受消息,管理登錄安全性等。SQL Server也可以很好地與Microsoft BackOffice產品集成。
5.具有很好的伸縮性,可跨越從運行Windows 95/98的膝上型電腦到運行Windows 2000的大型多處理器等多種平臺使用。
6.對Web技術的支持,使用戶能夠很容易地將數據庫中的數據發布到Web頁面上。
7.SQL Server提供數據倉庫功能,這個功能只在Oracle和其他更昂貴的DBMS中才有。
3.6 系統數據庫連接
JDBC技術是Java DataBase Connectivity的縮寫,它是SUN公司提供的一種支持基本SQL功能的通用的應用程序接口(Application Programming Interface)。它由一組用Java語言編寫的類和接口組成。通過這些類和接口,程序開發人員可以在Java語言中方便地建立與數據庫的鏈接,通過執行相應SQL語句,完成對不同數據庫的訪問。因此,開發人員使用JDBC API可以不必編寫一個應用程序來訪問Sybase數據庫,又另外編寫一個應用程序去訪問Oracle數據庫,再寫一個應用程序訪問Microsoft的SQL Server。不但如此,使用Java語言編寫的應用程序可以在任何支持Java的平臺上運行,不必在不同的平臺上開發不同的應用程序。
簡單地說,JDBC能完成下列三件事:
1.同一個數據庫建立連接;
2.向數據庫建立連接;
3.處理數據庫返回的結果。
JDBC是一種通用低層的應用程序編程接口,它在不同的數據庫功能模塊的層次上提供一個統一的用戶界面。說JDBC是一處低級的API,是指它直接調用SQL命令,它比其他的一些數據庫連接API要容易使用些,但它有同樣可以作為更gaoji的,用戶辦面更友好的API或開發工具基礎。
很多可視化的Java開發工具,如Visual Age For Java、Visual Café、J++等都提供了基于JDBC的更面向用戶的類和包,直接將關系數據庫的表或視圖映射為Java類,程序員通過可視化工具直接對Java對象進行操作,而真正需要的SQL調用則根據程序員發出的對對象的各種屬性、方法的操作來自動產生。另一種使用JDBC API 的方式為,用戶程序可以提供一個界面(如菜單等)讓用戶選擇對數據庫進行的操作,選中一個任務后,提示用戶輸入一些必要的信息,然后根據用戶的輸入產生相應的SQL命令以及Java程序。通過這處方式,用戶可以完成對數據庫的操作,即使他并不了解SQL語法以及JDBC編程。
數據庫訪問的三層結構如圖3.1所示,瀏覽器端程序要訪問數據庫,首先通過中間件,然后由中間件對數據庫操作權限進行認證,認證通過才能對數據庫進行操作。
圖3.1 使用中間件的數據庫訪問三層結構
用戶對數據庫的存取權限認證是中間件中完成,對數據庫的查詢、插入、更新和刪除操作等都封裝在中間件中,該中間件位于服務器端,中間件對數據庫進行操作后,再將處理結果通過Web服務器返回到瀏覽器端用戶。這樣,在用戶端輸入的用戶名和密碼,可以通過加密算法進行加密后在網絡上傳輸,在中間件中進行解密認證,然后再進行數據庫的存取操作,數據庫存取權限的用戶名和密碼出現在位于服務器端的中間件中,這樣就更加安全。本系統采用的正是這樣的三層結構的數據庫訪問模式。
在三層模型中,命令將被發送到服務的”中間層”,而”中間層”將SQL語句發送到數據庫。數據庫處理SQL語句并將結果返回”中間層”,然后”中間層”將它們返回用戶。其模型如圖3.2所示。
圖3.2 JDBC的三層模型
因為”中間層”可以進行對訪問的控制并協同數據庫的更新,并且可以使用一個易用的高層API,這個API可以由“中間層”進行轉換,轉換成低層的調用。所以在許多種情況下,三層模型可以提供更好的性能,本系統中所采用的就是此種模型。
JDBC是JAVA應用程序與數據庫的溝通橋梁。它提供了三項服務功能:一、與數據庫建立連接。二、將SQL語句傳遞給數據庫。三、從數據庫取得SQL語句的執行結果。當JDBC要與數據庫建立連接前,首先,它必須先取得連接此數據庫的JDBC驅動程序,Class.forName()即是在執行此項工作。建立數據庫連接的第一步驟就是將JDBC驅動程序的類載入至JVM(Java VirtualL Machine)中,本系統中利用java.lang.Class類內的forName()靜態函數依據指定的類名稱,將JDBC驅動程序載入進來。完成載入驅動程序的步驟后,必須使用java.sal.DriverManager類所提供的getConnection()靜態函數,取得與數據庫間的連接對象。此連接對象的類類型為java.sal.Connection,必須通過它才能將SQL指令傳遞給數據庫,而執行結果也需要通過連接對象來取得。當取得連接對象后,還必須取得Statement對象才能對數據庫執行SQL指令。Statement主要實現兩個功能:執行SQL語句以及取得執行結果。在java.sql.Statement的sql對象中執行查詢或修改命令的函數后傳回的是一個ResultSet對象,這個對象提供了一個存取SQL執行結果的管道,以便通過它將表格數據從數據庫中取出。每個Statement對象只能產生一個ResultSet對象。
數據庫連接如圖3.3所示:
圖3.3 數據庫的連接處理
數據庫的連接處理具體實現如下:
//建立JDBC——ODBC橋
sun.jdbc.odbc.JdbcOdbcDriver;
//橋建立不成功時的錯誤處理
catch(ClassNotFoundException event){}
//建立與數據庫的連接,并發送SQL查詢語句,將結果保存到rs對象中
Con=建立JDBC——ODBC橋
Sql=SQL查詢語句
執行查詢
Rs=返回結果
//SQL出錯處理
catch(SQLException e1){}
有了JDBC,向各種關系數據發送SQL語句就是一件很容易的事。換言之,有了JDBC API,就不必為訪問Sybase數據庫專門寫一個程序,為訪問Oracle數據庫又專門寫一個程序,或為訪問Informix數據庫又編寫另一個程序等等,程序員只需用JDBC API寫一個程序就夠了,它可向相應數據庫發送SQL調用。同時,將Java語言和JDBC結合起來使程序員不必為不同的平臺編寫不同的應用程序,只須寫一遍程序就可以讓它在任何平臺上運行,這也是Java語言“編寫一次,處處運行”的優勢。
Java數據庫連接體系結構是用于Java應用程序連接數據庫的標準方法。JDBC對Java程序員而言是API,對實現與數據庫連接的服務提供商而言是接口模型。作為API,JDBC為程序開發提供標準的接口,并為數據庫廠商及第三方中間件廠商實現與數據庫的連接提供了標準方法。JDBC使用已有的SQL標準并支持與其它數據庫連接標準,如ODBC之間的橋接。JDBC實現了所有這些面向標準的目標并且具有簡單、嚴格類型定義且高性能實現的接口。
Java 具有堅固、安全、易于使用、易于理解和可從網絡上自動下載等特性,是編寫數據庫應用程序的杰出語言。所需要的只是 Java應用程序與各種不同數據庫之間進行對話的方法。而 JDBC 正是作為此種用途的機制。
JDBC 擴展了 Java 的功能。例如,用 Java 和 JDBC API 可以發布含有 applet 的網頁,而該 applet 使用的信息可能來自遠程數據庫企業也可以用 JDBC 通過 Intranet 將所有職員連到一個或多個內部數據庫中(即使這些職員所用的計算機有 Windows、 Macintosh 和UNIX 等各種不同的操作系統)。隨著越來越多的程序員開始使用Java 編程語言,對從 Java 中便捷地訪問數據庫的要求也在日益增加。
MIS 管理員們都喜歡 Java 和 JDBC 的結合,因為它使信息傳播變得容易和經濟。企業可繼續使用它們安裝好的數據庫,并能便捷地存取信息,即使這些信息是儲存在不同數據庫管理系統上。新程序的開發期很短。安裝和版本控制將大為簡化。程序員可只編寫一遍應用程序或只更新一次,然后將它放到服務器上,隨后任何人就都可得到Zui新版本的應用程序。對于商務上的銷訂信息服務, Java 和JDBC 可為外部客戶提供獲取信息更新的更好方法。
簡單地說,JDBC 可做三件事:與數據庫建立連接、發送 SQL 語句并處理結果。下列代碼段給出了以上三步的基本示例:
上述代碼對基于JDBC的數據庫訪問做了經典的總結。
3.7BS模式與C/S模式的比較分析
C/S模式主要由客戶應用程序(Client)、服務器管理程序(Server)和中間件(middleware)三個部件組成??蛻魬贸绦蚴窍到y中用戶與數據進行交互的部件。服務器程序負責有效地管理系統資源,如管理一個信息數據庫,其主要工作是當多個客戶并發地請求服務器上的相同資源時,對這些資源進行Zui優化管理。中間件負責聯結客戶應用程序與服務器管理程序,協同完成一個作業,以滿足用戶查詢管理數據的要求。
B/S模式是一種以Web技術為基礎的新型的MIS系統平臺模式。把傳統C/S模式中的服務器部分分解為一個數據服務器與一個或多個應用服務器(Web服務器),從而構成一個三層結構的客戶服務器體系。
第一層客戶機是用戶與整個系統的接口??蛻舻膽贸绦蚓喌揭粋€通用的瀏覽器軟件,如Netscape Navigator,微軟公司的IE等。瀏覽器將HTML代碼轉化成圖文并茂的網頁。網頁還具備一定的交互功能,允許用戶在網頁提供的申請表上輸入信息提交給后臺,并提出處理請求。這個后臺就是第二層的Web服務器。
第二層Web服務器將啟動相應的進程來響應這一請求,并動態生成一串HTML代碼,其中嵌入處理的結果,返回給客戶機的瀏覽器。如果客戶機提交的請求包括數據的存取,Web服務器還需與數據庫服務器協同完成這一處理工作。
第三層數據庫服務器的任務類似于C/S模式,負責協調不同的Web服務器發出的SQ請求,管理數據庫。
B/S模式的優勢
首先它簡化了客戶端。它無需象C/S模式那樣在不同的客戶機上安裝不同的客戶應用程序,而只需安裝通用的瀏覽器軟件。這樣不但可以節省客戶機的硬盤空間與內存,而且使安裝過程更加簡便、網絡結構更加靈活。假設一個企業的決策層要開一個討論庫存問題的會議,他們只需從會議室的計算機上直接通過瀏覽器查詢數據,然后顯示給大家看就可以了。甚至與會者還可以把筆記本電腦聯上會議室的網絡插口,自己來查詢相關的數據。其次,它簡化了系統的開發和維護。系統的開發者無須再為不同級別的用戶設計開發不同的客戶應用程序了,只需把所有的功能都實現在Web服務器上,并就不同的功能為各個組別的用戶設置權限就可以了。各個用戶通過HTTP請求在權限范圍內調用Web服務器上不同處理程序,從而完成對數據的查詢或修改?,F代企業面臨著日新月異的競爭環境,對企業內部運作機制的更新與調整也變得逐漸頻繁。相對于C/S,B/S的維護具有更大的靈活性。當形勢變化時,它無須再為每一個現有的客戶應用程序升級,而只需對Web服務器上的服務處理程序進行修訂。這樣不但可以tigao公司的運作效率,還省去了維護時協調工作的不少麻煩。如果一個公司有上千臺客戶機,并且分布在不同的地點,那么便于維護將會顯得更加重要。
再次,它使用戶的操作變得更簡單。對于C/S模式,客戶應用程序有自己特定的規格,使用者需要接受專門培訓。而采用B/S模式時,客戶端只是一個簡單易用的瀏覽器軟件。無論是決策層還是操作層的人員都無需培訓,就可以直接使用。B/S模式的這種特性,還使 MIS系統維護的限制因素更少。
Zui后,B/S特別適用于網上信息發布,使得傳統的MIS的功能有所擴展。這是C/S所無法實現的。而這種新增的網上信息發布功能恰是現代企業所需的。這使得企業的大部分書面文件可以被電子文件取代,從而tigao了企業的工作效率,使企業行政手續簡化,節省人力物力。
鑒于B/S相對于C/S的先進性,B/S逐漸成為一種流行的MIS系統平臺。各軟件公司紛紛推出自己的Internet方案,基于Web的財務系統、基于Web的ERP。一些企業已經lingxian一步開始使用它,并且收到了一定的成效。
B/S模式的新穎與流行,和在某些方面相對于C/S的巨大改進,使B/S成了MIS系統平臺的shouxuan。
4、系統分析
3.1 問題描述
隨著近年來,人們生活水平的tigao,機場客liuliang的不斷增大。航空公司對自身的銷訂系統進行tisheng,開發“航空訂票系統”對自身的銷訂過程有相當大的幫助。
3.2 系統功能
根據航空公司的需要,系統應當包含基本的功能有:用戶注冊、用戶登錄和管理員登錄,航班查看等。用戶則劃分為基本乘客和管理員兩大類,管理員還兼具有管理職能。功能模塊圖如下:
3.3 航空訂票系統的性能要求
為了保證系統能夠長期、安全、穩定、可靠、高效的運行,航空訂票系統應該滿足以下的性能要求:
1.系統處理的準確性和及時性
系統處理的準確性和及時性是系統的必要性能。在系統設計和開發過程中,要充分考慮系統當前和將來可能承受的工作量,使系統的處理能力和響應時間能夠滿足企業對信息處理的需求。由于航空訂票系統的查詢功能對于整個系統的功能和性能完成舉足輕重。作為系統的很多數據來源,而機票數量和時間又影響企業的決策活動,其準確性很大程度上決定了航空訂票系統的成敗。在系統開發過程中,必須采用一定的方法保證系統的準確性。
2.系統的開放性和系統的可擴充性
航空訂票系統在開發過程中,應該充分考慮以后的可擴充性。例如訂票系統的方式的改變(網上訂票),用戶查詢的需求也會不斷的更新和完善。所有這些,都要求系統提供足夠的手段進行功能的調整和擴充。而要實現這一點,應通過系統的開放性來完成,既系統應是一個開放系統,只要符合一定的規范,可以簡單的加入和減少系統的模塊,配置系統的硬件。通過軟件的修補、替換完成系統的升級和更新換代。
3.系統的易用性和易維護性
航空訂票系統是直接面對使用人員的,而使用人員往往對計算機并不時非常熟悉。這就要求系統能夠提供良好的用戶接口,易用的人機交互界面。要實現這一點,就要求系統應該盡量使用用戶熟悉的術語和中文信息的界面;針對用戶可能出現的使用問題,要提供足夠的在線幫助,縮短用戶對系統熟悉的過程。航空訂票系統中涉及到的數據是航空公司的相當重要的信息,系統要提供方便的手段供系統維護人員進行數據的備份,日常的安全管理,系統意外崩潰時數據的恢復等工作。
3.系統的標準性
系統在設計開發使用過程中都要涉及到很多計算機硬件、軟件。所有這些都要符合主流國際、國家和行業標準。例如在開發中使用的操作系統、網絡系統、開發工具都必須符合通用標準。同時,在自主開發本系統時,要進行良好的設計工作,制訂行之有效的軟件工程規范,保證代碼的易讀性、可操作性和可移植性。
3.系統的先進性
目前計算系統的技術發展相當快,作為航空訂票系統工程,應該保證系統在下個世紀仍舊是先進的,在系統的生命周期盡量做到系統的先進,充分完成企業信息處理的要求而不至于落后。這一方面通過系統的開放性和可擴充性,不斷改善系統的功能完成。另一方面,在系統設計和開發的過程中,應在考慮成本的基礎上盡量采用當前主流并先進且有良好發展前途的產品。
6.系統的響應速度
航空訂票系統在日常處理中的響應速度為秒級,達到實時要求,以及時反饋信息。在進行統計分析時,根據所需數據量的不同而從秒級到分鐘級,原則是保證操作人員不會因為速度問題而影響工作效率。
- 計算機畢業設計 jsp寵物網站(mysql) 畢設68 2024-04-28
- 計算機畢業設計 jsp婚戀交友網站ssh 畢設90 2024-04-28
- 計算機畢業設計 jsp基于shh的課程教學網站(ssh) 畢設47 2024-04-28
- 計算機畢業設計 jsp通用試題庫設計(ssh) 畢設74 2024-04-28
- 計算機畢業設計 jsp足球俱樂部管理系統ssh 畢設20 2024-04-28
- 計算機畢業設計 jsp試卷管理系統sqlserver 畢設7 2024-04-28
- 計算機畢業設計 jsp自助建站網站ssh 畢設21 2024-04-28
- 計算機畢業設計 jsp網絡書店銷售網站(ssh) 畢設47 2024-04-28
- 計算機畢業設計 jsp網上書店紅色(ssh) 畢設20 2024-04-28
- 計算機畢業設計 jsp物業管理系統(ssh) 畢設41 2024-04-28
- 計算機畢業設計 jsp洗衣店管理系統(ssh) 畢設42 2024-04-28
- 計算機畢業設計 jsp校園論壇ssh 畢設23 2024-04-28
- 計算機畢業設計 jsp小說閱讀網站(jsp sqlserver) 畢設13 2024-04-28
- 計算機畢業設計 jsp小型超市管理系統sqlserver 畢設85 2024-04-28
- 計算機畢業設計 jsp宿舍管理系統ssh 畢設53 2024-04-28