【正文】
基于J2EE平臺(tái)的火車站網(wǎng)上售票系統(tǒng)的實(shí)現(xiàn)摘 要:隨著國民經(jīng)濟(jì)的快速發(fā)展,人們出行越來越頻繁,對(duì)服務(wù)的快捷、便利性要求也越來越高。在火車站的售票業(yè)務(wù)中,購票難是鐵路客運(yùn)服務(wù)的最大難題,如果長期得不到解決,其結(jié)果必然會(huì)導(dǎo)致客流的不斷流失。隨著電子商務(wù)的快速發(fā)展,適時(shí)推出新型的售票方式——網(wǎng)上售票,既是技術(shù)上的創(chuàng)新,又將完善鐵路服務(wù),在一定程度上解決購票難這一大難題。課題分析了網(wǎng)上售票系統(tǒng)的特點(diǎn)與需求,深入地研究了J2EE架構(gòu)及其相關(guān)技術(shù)。利用J2EE體系結(jié)構(gòu),結(jié)合基于輕量級(jí)Web框架——Struts+Spring+Hibernate架構(gòu)設(shè)計(jì)并實(shí)現(xiàn)了火車站網(wǎng)上售票系統(tǒng)。系統(tǒng)分為用戶和管理員兩個(gè)模塊,用戶模塊實(shí)現(xiàn)了車次查詢、車票預(yù)訂、信息反饋等功能;管理員模塊實(shí)現(xiàn)了車次管理、用戶管理和票務(wù)管理等功能。在系統(tǒng)的安全性方面,采用了JavaScript技術(shù)、session令牌機(jī)制和AJAX技術(shù)來保證系統(tǒng)的安全。 通過網(wǎng)上售票的方式,可以大大提高售票的效率,減少乘客排隊(duì)購票的時(shí)間。 關(guān)鍵詞:售票系統(tǒng);J2EE;Struts;Spring;HibernateThe Implementation Of Online Ticketing System of Railway Station On J2EE PlatformAbstract:With the rapid development of the national economy, people travel more frequently. It bees higher and higher to the requirements of quick convenience service for people. In the business of selling tickets at the railway station, the problem of the ticket of hard purchase is the biggest one of the rail passenger services. If it can not be resolved for a long time, the result will inevitably lead to the continuous loss of passenger flow. With the rapid development of emerce, presenting a new type of ticket sale, online ticket sale, is not only technical innovation, but also will improve the railway services. It can solve this major problem of the ticket of hard purchase to a certain extent. The subject analyses the characteristic and demand of online ticketing system. It studies J2EE architecture and its related technologies deeply. Integrating J2EE39。s structure and bining with Web framework which based on the lightweight, Struts, Spring and Hibernate, it designs and implements online ticketing system of the railway station. The system is divided into two modules, user module and administrator module. User module achieves functions of querying trips, booking tickets and message feedback. Administrator module achieves functions of train management, user management and ticket management. At the security aspect of the system, it applies JavaScript technology, session token mechanisms and AJAX technology to ensure the safety of the system.Through the way of online ticket sales, it can greatly enhance the efficiency of ticket sales and reduce passenger’s queuing time for tickets.Keywords:ticketing system;Java 2 Enterprise Edition;Struts;Spring;Hibernate 目次摘要 I目次 III1 緒論 1 課題的背景及其意義 1 選題背景 1 市場預(yù)測 1 國外現(xiàn)狀與發(fā)展 1 國內(nèi)現(xiàn)狀與發(fā)展 2 論文工作及結(jié)構(gòu) 22 基于J2EE平臺(tái)系統(tǒng)開發(fā)的相關(guān)技術(shù) 3 3 技術(shù)概觀 3 技術(shù)比較 3 總體評(píng)價(jià) 5 J2EE的優(yōu)勢 5 B/S結(jié)構(gòu) 6 JSP技術(shù) 6 Struts+Spring+Hibernate框架 7 Struts技術(shù) 7 Hibernate技術(shù) 8 Spring技術(shù) 8 Oracle數(shù)據(jù)庫 9 MyEclipse開發(fā)平臺(tái) 9 Tomcat配置 93 基于J2EE平臺(tái)的火車站網(wǎng)上售票系統(tǒng)的設(shè)計(jì) 11 系統(tǒng)功能 11 系統(tǒng)的總體結(jié)構(gòu)設(shè)計(jì) 11 系統(tǒng)功能模塊設(shè)計(jì) 11 系統(tǒng)架構(gòu)說明 13 數(shù)據(jù)庫的結(jié)構(gòu)分析與設(shè)計(jì) 13 系統(tǒng)開發(fā)環(huán)境 16 Struts+Spring+Hibernate框架的構(gòu)建 164 基于J2EE平臺(tái)的火車站網(wǎng)上售票系統(tǒng)的實(shí)現(xiàn) 20 Hibernate 持久層實(shí)現(xiàn) 20 設(shè)計(jì)持久化對(duì)象(PO) 20 創(chuàng)建持久化類 20 映射持久化類 22 實(shí)現(xiàn)DAO層 23 23 部署DAO層 24 Service層的實(shí)現(xiàn) 26 service組件設(shè)計(jì) 26 部署service層 27 MVC層的實(shí)現(xiàn) 27 解決中文編碼問題 27 Struts與Spring的整合 28 創(chuàng)建ACTION 28 系統(tǒng)功能模塊的詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 28 用戶注冊登陸功能模塊的實(shí)現(xiàn) 28 用戶車次查詢模塊的實(shí)現(xiàn) 31 車票預(yù)訂功能模塊實(shí)現(xiàn) 31 訂單查詢與取消功能模塊實(shí)現(xiàn) 32 用戶信息管理模塊的實(shí)現(xiàn) 34 票務(wù)信息管理模塊的實(shí)現(xiàn) 355 系統(tǒng)的安全機(jī)制 36 在線應(yīng)用程序安全 36 Web安全管理的實(shí)現(xiàn) 366 總結(jié) 38參考文獻(xiàn) 39致謝 401 緒論 課題的背景及其意義 選題背景鐵路作為中國最重要的交通工具之一,在市場經(jīng)濟(jì)浪潮中,受到了強(qiáng)烈的沖擊,面臨著嚴(yán)峻的考驗(yàn)。公路運(yùn)輸?shù)谋憬荩娇者\(yùn)輸?shù)目焖?,這一切都對(duì)鐵路運(yùn)輸構(gòu)成很大的沖擊。在對(duì)鐵路客運(yùn)服務(wù)存在的最大問題進(jìn)行調(diào)查時(shí),結(jié)果表明,%的乘客認(rèn)為購票難排在各項(xiàng)選擇的第一位。購票難是鐵路客運(yùn)服務(wù)的老大難問題,如果長期得不到解決,其結(jié)果必然導(dǎo)致客流的不斷流失。對(duì)于短途的乘客,會(huì)選擇方便的公路,而長途乘客,由于近年來機(jī)票價(jià)格的不斷下浮,鐵路票價(jià)優(yōu)勢不再非常明顯,且飛機(jī)票訂票方式靈活多樣,大多提供免費(fèi)送票服務(wù),這將導(dǎo)致部分乘客選擇飛機(jī)出行。由此,要坐穩(wěn)位置,必須提升自己,引進(jìn)先進(jìn)的技術(shù)與服務(wù)模式。當(dāng)今世界信息技術(shù)飛速發(fā)展,人們越來越多地利用計(jì)算機(jī)技術(shù)、通信技術(shù)和Internet創(chuàng)建一個(gè)國際化、信息化、跨地域的商務(wù)活動(dòng)的便利環(huán)境來拓展商務(wù)經(jīng)營。在此背景下,產(chǎn)生了電子商務(wù),電子商務(wù)的產(chǎn)生是計(jì)算機(jī)和Internet的發(fā)展以及商務(wù)應(yīng)用需求的必然結(jié)果,已成為當(dāng)今商務(wù)發(fā)展的一大趨勢[1]。電子商務(wù)的出現(xiàn),正好帶給了鐵路客運(yùn)服務(wù)一個(gè)發(fā)展契機(jī),結(jié)合電子商務(wù),適時(shí)推出新型的售票方式——網(wǎng)上售票,既是技術(shù)上的創(chuàng)新,又將完善鐵路服務(wù),在一定程度上解決買票難這一大難題,增強(qiáng)鐵路競爭力,為鐵路爭取到更多的客流。 市場預(yù)測我國的互聯(lián)網(wǎng)發(fā)展方興未艾,用戶不斷增加,互聯(lián)網(wǎng)已經(jīng)滲透到了我們生活中的方方面面。(1)近年上網(wǎng)人數(shù)呈上漲趨勢2009年1月13日,中國互聯(lián)網(wǎng)絡(luò)信息中心(CNNIC)在京發(fā)布了《第23次中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》。報(bào)告顯示,截至2008年底,%%的全球平均水平。同時(shí),,三項(xiàng)指標(biāo)繼續(xù)穩(wěn)居世界排名第一,顯示出中國互聯(lián)網(wǎng)的規(guī)模價(jià)值正在日益放大[2]。(2)用戶由于何種原因進(jìn)行網(wǎng)上訂票的調(diào)查統(tǒng)計(jì)從網(wǎng)絡(luò)用戶選擇網(wǎng)上訂票的原因主要包括節(jié)省時(shí)間,對(duì)不同的票務(wù)信息進(jìn)行比較,信息全面和價(jià)格便宜這些因素。%,%,%,%的用戶因?yàn)閮r(jià)格便宜選擇了網(wǎng)上訂票。 國外現(xiàn)狀與發(fā)展早在20世紀(jì)70年代,歐美及日本等發(fā)達(dá)國家就開始了計(jì)算機(jī)售票,英國的Tribute系統(tǒng)具有列車運(yùn)行時(shí)刻表管理、運(yùn)營運(yùn)價(jià)算法管理、席位預(yù)訂、發(fā)售歐洲其他國家車票等功能。日本的MARS(Multi Access seat Reservation System)系統(tǒng)不但可發(fā)售火車票,而且具有預(yù)訂旅館等延伸服務(wù)功能。歐洲鐵路聯(lián)盟在布魯塞爾、里爾、斯圖加特、科隆、法蘭克福以及鐵路網(wǎng)的主要火車站建立聯(lián)運(yùn)信息平臺(tái),2008年底前,投資3000萬歐元建成網(wǎng)上售票系統(tǒng)。2009年1月起,旅客可以從網(wǎng)上訂購優(yōu)惠車票[3]。 國內(nèi)現(xiàn)狀與發(fā)展 20世紀(jì)90年代以前,我國鐵路旅客運(yùn)輸在計(jì)劃經(jīng)濟(jì)的條件下,在管理體制、方法和手段等方面發(fā)展都很緩慢。隨著市場經(jīng)濟(jì)的引入,其他運(yùn)輸方式抓住機(jī)遇迅速發(fā)展,運(yùn)輸市場的競爭日趨激烈,鐵路運(yùn)輸?shù)氖袌龇蓊~不斷下降。隨著鐵路大面積提速的進(jìn)行和直達(dá)特快列車的開行,鐵路的線路和車輛等硬件設(shè)施得到了進(jìn)一步的改善,旅客選擇鐵路旅行感到更快速和舒適。然而,鐵路買票難問題就顯得更為突出了。因此就需要開發(fā)一個(gè)網(wǎng)上售票系統(tǒng)來解決這個(gè)問題。 論文工作及結(jié)構(gòu)論文論述的是基于J2EE平臺(tái)并結(jié)合Struts+Spring+Hibernate整合框架設(shè)計(jì)開發(fā)的火車站網(wǎng)上售票系統(tǒng)。利用Internet全球化這種環(huán)境,將火車售票的方式由傳統(tǒng)的手動(dòng)售票延伸至網(wǎng)絡(luò)形式的電子售票,用戶只需一臺(tái)與Internet相連的計(jì)算機(jī)就可以進(jìn)行車票的預(yù)訂。論文主要做了以下幾方面工作:(1)分析研究了J2EE的相關(guān)技術(shù)和系統(tǒng)中使用的三個(gè)框架Struts、Spring和Hibernate。(2)對(duì)系統(tǒng)進(jìn)行總體結(jié)構(gòu)設(shè)計(jì),設(shè)計(jì)系統(tǒng)的各項(xiàng)功能。(3)對(duì)系統(tǒng)的數(shù)據(jù)庫進(jìn)行選擇和設(shè)計(jì)。(4)選擇和配置系統(tǒng)的開發(fā)環(huán)境。(5)設(shè)計(jì)和實(shí)現(xiàn)系統(tǒng)的三層結(jié)構(gòu):表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)服務(wù)層。(6)實(shí)現(xiàn)了用戶模塊和管理員模塊的功能。(7)對(duì)系統(tǒng)的安全機(jī)制進(jìn)行設(shè)計(jì)與實(shí)現(xiàn)。論文結(jié)構(gòu)如下:(1)論文背景和論文工作。(2)基于J2EE 平臺(tái)系統(tǒng)開發(fā)的相關(guān)技術(shù)(3)基于J2EE平臺(tái)的火車站網(wǎng)上售票系統(tǒng)的設(shè)計(jì)(4)基于J2EE平臺(tái)的火車站網(wǎng)上售票系統(tǒng)的實(shí)現(xiàn)(5)系統(tǒng)的安全機(jī)制架構(gòu)(6)總結(jié)2 基于J2EE平臺(tái)系統(tǒng)開發(fā)的相關(guān)技術(shù) J2EE是一套全然不同于傳統(tǒng)應(yīng)用開發(fā)的技術(shù)架構(gòu),包含許多組件,主要可簡化且規(guī)范應(yīng)用系統(tǒng)的開發(fā)與部署,進(jìn)而提高可移植性、安全與再用價(jià)值[4]。.NET是微軟推出的一個(gè)開發(fā)和運(yùn)行軟件的新環(huán)境。更準(zhǔn)確的說,.NET是一個(gè)XML Web Services平臺(tái)。 技術(shù)概觀在表現(xiàn)形式上,J2EE是一組規(guī)范。但它們的目的都是為了企業(yè)應(yīng)用提供分布式的、高可靠性的解決方案。它們在架構(gòu)上有著很多的相似之處[5],: 技術(shù)J2EE.NET通信協(xié)議RMI/IIOPXML編程語言JAVAC,COBOL運(yùn)行時(shí)環(huán)境JVMCLR胖客戶端Java SwingWindows Forms目錄服務(wù)JNDIADSI數(shù)據(jù)訪問JDBC異步消息處理JMSMicrosoft Message Queue表示層技術(shù)Servlets,JSP中間層組建模型EJB,JavaBeanCOM+,COM安全訪問JAASCOM+ Security事務(wù)處理JTSMSDTC開發(fā)工具Jbuilder,EclipseVisual 技術(shù)比較(1)一對(duì)多 兩種平臺(tái)主流的開發(fā)語言Java和C在架構(gòu)上有著相似之處:虛擬機(jī)技術(shù),基于沙箱的安全模型,分層的命名空間,垃圾回收等。跨平臺(tái)是J2EE的最大優(yōu)勢,也是至今為止還絆住微軟的柵欄。當(dāng)開發(fā)商完成了符合J2EE規(guī)范的軟件時(shí),其客戶可以依據(jù)其喜好和實(shí)力來選擇不同應(yīng)用服務(wù)器。從基于open source的免費(fèi)軟件到高端滿足B2B需求的商業(yè)套件來搭建自己的平臺(tái)。但是由于J2EE的規(guī)范還不完善,各個(gè)J2EE服務(wù)器的提供商為了使其提供其各自理解的完整的功能,不得不添加一些額外的特性。這就使得使用了這些特別功能的應(yīng)用軟件,綁定到了特定的應(yīng)用服務(wù)器上。隨著J2EE規(guī)范的發(fā)展,這種差別會(huì)逐漸減小。微軟的跨平臺(tái)解決方案是Web services,它解決的是異種平臺(tái)上不同應(yīng)用之間