【正文】
模式結(jié)構(gòu)清晰,現(xiàn)今已被大量運(yùn)用。Struts是一個(gè)WEB開發(fā)框架。Struts在英文中是“支架、支撐”的意思,這表明了Struts在Web應(yīng)用開發(fā)中的巨大作用,采用Struts可以更好地遵循MVC模式。Spring+Struts+Hibernate框架是典型的J2EE三層結(jié)構(gòu),分為表現(xiàn)層、中間層(業(yè)務(wù)邏輯層)和數(shù)據(jù)服務(wù)層。JSP具備了Java技術(shù)的簡(jiǎn)單易用,完全的面向?qū)ο?,具有平臺(tái)無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。 JSP與Java Servlet一樣,是在服務(wù)器端執(zhí)行的,通常返回給客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。網(wǎng)頁(yè)還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。利用B/S結(jié)構(gòu)便于用戶在網(wǎng)上進(jìn)行查詢、訂票、退票等操作。這樣就大大簡(jiǎn)化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本(TCO)。這是實(shí)時(shí)性很強(qiáng)商業(yè)系統(tǒng)理想的選擇。若是意外停機(jī),那會(huì)有災(zāi)難性后果。能消除系統(tǒng)中的瓶頸,允許多臺(tái)服務(wù)器集成部署。 (4)可伸縮性:企業(yè)必須要選擇一種服務(wù)器端平臺(tái),這種平臺(tái)應(yīng)能提供極佳的可伸縮性去滿足那些在他們系統(tǒng)上進(jìn)行商業(yè)運(yùn)作的大批新客戶?;贘2EE的應(yīng)用程序不依賴任何特定操作系統(tǒng)、中間件、硬件。高級(jí)中間件供應(yīng)商提供以下這些復(fù)雜的中間件服務(wù):① 狀態(tài)管理服務(wù)——讓開發(fā)人員寫更少的代碼,不用關(guān)心如何管理狀態(tài),這樣能夠更快地完成程序開發(fā)。每一個(gè)供應(yīng)商都對(duì)現(xiàn)有的客戶提供了不用廢棄已有投資,進(jìn)入可移植的J2EE領(lǐng)域的升級(jí)途徑。J2EE為搭建具有可伸縮性、靈活性、易維護(hù)性的商務(wù)系統(tǒng)提供了良好的機(jī)制:(1)保留現(xiàn)存的IT資產(chǎn):由于企業(yè)必須適應(yīng)新的商業(yè)需求,利用已有的企業(yè)信息系統(tǒng)方面的投資,而不是重新制定全盤方案就變得很重要。 總體評(píng)價(jià) 就企業(yè)而言,內(nèi)部眾多系統(tǒng)的整合、系統(tǒng)的延展性、安全性是更需要注意的議題,而這些都是J2EE的優(yōu)勢(shì),也是微軟的不足處。從形式來看,并且,因其構(gòu)架在HTTP協(xié)議之上,易于穿透防火墻,使溝通更為便利。事實(shí)上,由于實(shí)體EJB的load()和store()方法的同步機(jī)制,將大大緩解因并發(fā)而使數(shù)據(jù)庫(kù)產(chǎn)生的瓶頸。 (4)數(shù)據(jù)訪問 。在結(jié)構(gòu)上,Windows (runtime framework)和組件模型 (ponent model)中。即C/S(Client/Server)模式和B/S(Brower/Server)模式。并且實(shí)現(xiàn)了多重接口繼承,擴(kuò)展的元數(shù)據(jù)和新的代理模型等。在J2EE構(gòu)架中, JavaBean和EJB(Enterprise JavaBeans) 被用來完成事物邏輯。微軟的跨平臺(tái)解決方案是Web services,它解決的是異種平臺(tái)上不同應(yīng)用之間的連通性問題。從基于open source的免費(fèi)軟件到高端滿足B2B需求的商業(yè)套件來搭建自己的平臺(tái)。但它們的目的都是為了企業(yè)應(yīng)用提供分布式的、高可靠性的解決方案。(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),包含許多組件,主要可簡(jiǎn)化且規(guī)范應(yīng)用系統(tǒng)的開發(fā)與部署,進(jìn)而提高可移植性、安全與再用價(jià)值[4]。(5)設(shè)計(jì)和實(shí)現(xiàn)系統(tǒng)的三層結(jié)構(gòu):表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)服務(wù)層。論文主要做了以下幾方面工作:(1)分析研究了J2EE的相關(guān)技術(shù)和系統(tǒng)中使用的三個(gè)框架Struts、Spring和Hibernate。然而,鐵路買票難問題就顯得更為突出了。2009年1月起,旅客可以從網(wǎng)上訂購(gòu)優(yōu)惠車票[3]。%,%,%,%的用戶因?yàn)閮r(jià)格便宜選擇了網(wǎng)上訂票。(1)近年上網(wǎng)人數(shù)呈上漲趨勢(shì)2009年1月13日,中國(guó)互聯(lián)網(wǎng)絡(luò)信息中心(CNNIC)在京發(fā)布了《第23次中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》。當(dāng)今世界信息技術(shù)飛速發(fā)展,人們?cè)絹碓蕉嗟乩糜?jì)算機(jī)技術(shù)、通信技術(shù)和Internet創(chuàng)建一個(gè)國(guó)際化、信息化、跨地域的商務(wù)活動(dòng)的便利環(huán)境來拓展商務(wù)經(jīng)營(yíng)。在對(duì)鐵路客運(yùn)服務(wù)存在的最大問題進(jìn)行調(diào)查時(shí),結(jié)果表明,%的乘客認(rèn)為購(gòu)票難排在各項(xiàng)選擇的第一位。 通過網(wǎng)上售票的方式,可以大大提高售票的效率,減少乘客排隊(duì)購(gòu)票的時(shí)間。課題分析了網(wǎng)上售票系統(tǒng)的特點(diǎn)與需求,深入地研究了J2EE架構(gòu)及其相關(guān)技術(shù)?;贘2EE平臺(tái)的火車站網(wǎng)上售票系統(tǒng)的實(shí)現(xiàn)摘 要:隨著國(guó)民經(jīng)濟(jì)的快速發(fā)展,人們出行越來越頻繁,對(duì)服務(wù)的快捷、便利性要求也越來越高。利用J2EE體系結(jié)構(gòu),結(jié)合基于輕量級(jí)Web框架——Struts+Spring+Hibernate架構(gòu)設(shè)計(jì)并實(shí)現(xiàn)了火車站網(wǎng)上售票系統(tǒng)。 關(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。購(gòu)票難是鐵路客運(yùn)服務(wù)的老大難問題,如果長(zhǎng)期得不到解決,其結(jié)果必然導(dǎo)致客流的不斷流失。在此背景下,產(chǎn)生了電子商務(wù),電子商務(wù)的產(chǎn)生是計(jì)算機(jī)和Internet的發(fā)展以及商務(wù)應(yīng)用需求的必然結(jié)果,已成為當(dāng)今商務(wù)發(fā)展的一大趨勢(shì)[1]。報(bào)告顯示,截至2008年底,%%的全球平均水平。 國(guó)外現(xiàn)狀與發(fā)展早在20世紀(jì)70年代,歐美及日本等發(fā)達(dá)國(guó)家就開始了計(jì)算機(jī)售票,英國(guó)的Tribute系統(tǒng)具有列車運(yùn)行時(shí)刻表管理、運(yùn)營(yíng)運(yùn)價(jià)算法管理、席位預(yù)訂、發(fā)售歐洲其他國(guó)家車票等功能。 國(guó)內(nèi)現(xiàn)狀與發(fā)展 20世紀(jì)90年代以前,我國(guó)鐵路旅客運(yùn)輸在計(jì)劃經(jīng)濟(jì)的條件下,在管理體制、方法和手段等方面發(fā)展都很緩慢。因此就需要開發(fā)一個(gè)網(wǎng)上售票系統(tǒng)來解決這個(gè)問題。(2)對(duì)系統(tǒng)進(jìn)行總體結(jié)構(gòu)設(shè)計(jì),設(shè)計(jì)系統(tǒng)的各項(xiàng)功能。(6)實(shí)現(xiàn)了用戶模塊和管理員模塊的功能。.NET是微軟推出的一個(gè)開發(fā)和運(yùn)行軟件的新環(huán)境。它們?cè)诩軜?gòu)上有著很多的相似之處[5],: 技術(shù)J2EE.NET通信協(xié)議RMI/IIOPXML編程語(yǔ)言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ā)語(yǔ)言Java和C在架構(gòu)上有著相似之處:虛擬機(jī)技術(shù),基于沙箱的安全模型,分層的命名空間,垃圾回收等。但是由于J2EE的規(guī)范還不完善,各個(gè)J2EE服務(wù)器的提供商為了使其提供其各自理解的完整的功能,不得不添加一些額外的特性。但在現(xiàn)實(shí)中所更迫切需要的是如何在異構(gòu)的平臺(tái)上構(gòu)造具有可擴(kuò)展性、高可靠性、高可用性、故障冗余和錯(cuò)誤恢復(fù)能力的企業(yè)應(yīng)用。其中EJB和 JavaBean 有著類似的模型,但它被用來創(chuàng)建分布式的企業(yè)應(yīng)用。舊有的COM和COM+組件也可被映射到新的運(yùn)行環(huán)境中。對(duì)于C/S模式,J2EE提供了替代Java AWT的Java Swing,同時(shí)作為可視化組件的JavaBean也可用來構(gòu)造系統(tǒng)。在瘦客戶模型中,WML,XML作為表示層。JDBC和ADO一樣和所連接的數(shù)據(jù)庫(kù)無關(guān),并且通過連接,命令語(yǔ)句和結(jié)果集來對(duì)數(shù)據(jù)進(jìn)行操作,所以屬于中間層次的API。也可以采用不屬于J2EE規(guī)范的第三方數(shù)據(jù)訪問工具,象WebGain的TopLink。但由于XML本身的基于標(biāo)記的特性,很明顯限制了在有超大數(shù)據(jù)量和有網(wǎng)絡(luò)瓶頸的應(yīng)用中的使用。在效率方面,J2EE陣營(yíng)主張通過硬件的效能增加來彌補(bǔ)軟件的不足。這樣,一個(gè)以漸進(jìn)的(而不是激進(jìn)的,全盤否定的)方式建立在已有系統(tǒng)之上的服務(wù)器端平臺(tái)機(jī)制是公司所需求的。由于基于J2EE平臺(tái)的產(chǎn)品幾乎能夠在任何操作系統(tǒng)和硬件配置上運(yùn)行,現(xiàn)有的操作系統(tǒng)和硬件也能被保留使用。 ② 持續(xù)性服務(wù)——讓開發(fā)人員不用對(duì)數(shù)據(jù)訪問邏輯進(jìn)行編碼就能編寫應(yīng)用程序,能生成更輕巧,與數(shù)據(jù)庫(kù)無關(guān)的應(yīng)用程序,這種應(yīng)用程序更易于開發(fā)與維護(hù)。因此設(shè)計(jì)合理的基于J2EE的程序只需開發(fā)一次就可部署到各種平臺(tái)?;贘2EE平臺(tái)的應(yīng)用程序可被部署到各種操作系統(tǒng)上。這種部署可達(dá)數(shù)千個(gè)處理器,實(shí)現(xiàn)可高度伸縮的系統(tǒng),滿足未來商業(yè)應(yīng)用的需要。J2EE部署到可靠的操作環(huán)境中,他們支持長(zhǎng)期的可用性。 B/S結(jié)構(gòu)系統(tǒng)實(shí)現(xiàn)的是網(wǎng)上售票的功能,需要借助于互聯(lián)網(wǎng),所以采用B/S結(jié)構(gòu),B/S結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)。局域網(wǎng)建立B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,并通過Internet/Intranet模式下數(shù)據(jù)庫(kù)應(yīng)用,相對(duì)易于把握、成本也是較低的。 JSP技術(shù)系統(tǒng)的表示層采用的是JSP(Java Server Pages)技術(shù)。JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁(yè)HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。JSP將網(wǎng)頁(yè)邏輯與網(wǎng)頁(yè)設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。JSP頁(yè)面由HTML代碼和嵌入其中的Java代碼所組成。自JSP推出后,眾多大公司都支持JSP技術(shù)的服務(wù)器,如IBM、Oracle、Bea公司等,所以JSP迅速成為商業(yè)應(yīng)用的服務(wù)器端語(yǔ)言。三層體系將業(yè)務(wù)規(guī)則、數(shù)據(jù)訪問及合法性校驗(yàn)等工作放在中間層處理。此外,Struts提供了一套完備的規(guī)范,以及基礎(chǔ)類庫(kù),可以充分利用 JSP/Servlet 的優(yōu)點(diǎn),減輕程序員的工作量,具有很強(qiáng)的可擴(kuò)展性。WEB從一開始的靜態(tài)HTML開發(fā),到后來的動(dòng)態(tài)頁(yè)面。Struts 通過提供一個(gè)控制器Servlet 實(shí)現(xiàn)了Sun的Model2架構(gòu),這個(gè)控制器可以用來管理JSP頁(yè)面和其他表現(xiàn)設(shè)備之間的流程。它是一種自由、開源的軟件。無論是從設(shè)計(jì)草案還是從一個(gè)遺留數(shù)據(jù)庫(kù)開始,開發(fā)人員都可以采用Hibernate。 Spring技術(shù)Spring是一個(gè)開源框架,它由Rod Johnson創(chuàng)建[11]。從簡(jiǎn)單性、可測(cè)試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。并且Spring所需的處理開銷也是微不足道的。你可以認(rèn)為IoC與JNDI相反——不是對(duì)象從容器中查找依賴,而是容器在對(duì)象初始化時(shí)不等對(duì)象請(qǐng)求就主動(dòng)將依賴傳遞給它。然而,Spring不應(yīng)該被混同于傳統(tǒng)的重量級(jí)的EJB容器,它們經(jīng)常是龐大與笨重的,難以使用。它們也為Spring中的各種模塊提供了基礎(chǔ)支持。其特點(diǎn)如下:(1)。(4)提供了與第三代高級(jí)語(yǔ)言的接口軟件PRO*系列,能在C,C++等主語(yǔ)言中嵌入SQL語(yǔ)句及過程化(PL/SQL)語(yǔ)句,對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行操縱。 MyEclipse開發(fā)平臺(tái)MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipse Enterprise Workbench,簡(jiǎn)稱MyEclipse)是對(duì)Eclipse IDE的擴(kuò)展,利用它可以在數(shù)據(jù)庫(kù)和J2EE的開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。由于有了Sun 的參與和支持,最新的Servlet和JSP規(guī)范總是能在Tomcat 中得到體現(xiàn),Tomcat5支持最新的Servlet 。實(shí)際上Tomcat部分是Apache服務(wù)器的擴(kuò)展,但它是獨(dú)立運(yùn)行的,所以當(dāng)運(yùn)行Tomcat時(shí),它實(shí)際上作為一個(gè)與Apache獨(dú)立的進(jìn)程單獨(dú)運(yùn)行的。Tomcat