摘 要:JSP(JavaServer Pages)是由Sun Microsystems公司主導(dǎo)創(chuàng)建的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。其能夠適用于當(dāng)前的IE瀏覽器等應(yīng)用程序開發(fā),方便實(shí)現(xiàn)分布式管理。利用JSP技術(shù)開發(fā)的Web應(yīng)用程序或分布式管理系統(tǒng)能夠跨平臺(tái)運(yùn)行,具有很強(qiáng)的魯棒性和普適性,因此能夠廣泛應(yīng)用于互聯(lián)網(wǎng)軟件設(shè)計(jì)中。基于此,筆者針對(duì)JSP技術(shù)進(jìn)行分析,并對(duì)其在互聯(lián)網(wǎng)軟件中的應(yīng)用進(jìn)行研究。
關(guān)鍵詞:JSP技術(shù);互聯(lián)網(wǎng);面向?qū)ο?XML
《電子技術(shù)與軟件工程》(半月刊)創(chuàng)刊于2012年,由中國(guó)電子學(xué)會(huì)主辦。旨在全方位推廣信息時(shí)代下電氣、電力、電工科學(xué)意識(shí);關(guān)注電子各專業(yè)技術(shù)以及最新科研成果和進(jìn)展。
1 引言(Introduction)
JSP是Sun Microsystems公司研究和發(fā)布的一種動(dòng)態(tài)網(wǎng)頁(yè)開發(fā)實(shí)現(xiàn)技術(shù),尤其適用于當(dāng)前的IE瀏覽器等應(yīng)用程序開發(fā),方便實(shí)現(xiàn)分布式管理。利用JSP技術(shù)開發(fā)的Web應(yīng)用程序或分布式管理系統(tǒng)能夠跨平臺(tái)運(yùn)行,具有很強(qiáng)的魯棒性和普適性,不僅可以在Windows系列操作系統(tǒng)上運(yùn)行,還可以運(yùn)行于Linux、Unix操作系統(tǒng),因此具有很強(qiáng)的靈活性[1]。JSP是一個(gè)簡(jiǎn)化的Servlet程序,其采用先進(jìn)的面向?qū)ο驤ava程序語(yǔ)言編寫,實(shí)現(xiàn)XML技術(shù)中的tags和scriptlets,封裝網(wǎng)頁(yè)的處理邏輯,可以將邏輯業(yè)務(wù)處理和網(wǎng)頁(yè)動(dòng)態(tài)交互獨(dú)立顯示,支持具有可重用性的Java組件開發(fā),這就可以使互聯(lián)網(wǎng)應(yīng)用軟件開發(fā)變得更加簡(jiǎn)單和方便[2]。
JSP作為一個(gè)前臺(tái)動(dòng)態(tài)交互界面,采用面向?qū)ο蟮乃枷脒M(jìn)行軟件開發(fā),繼承了XML技術(shù)、表單技術(shù)、servlet技術(shù)等,能夠通過瀏覽器登錄到系統(tǒng),可以為用戶提供一個(gè)布局精美、交互友好的界面,輸入用戶的邏輯業(yè)務(wù)請(qǐng)求,然后經(jīng)由表單和servlet等傳輸給服務(wù)器,服務(wù)器解析用戶的信息處理要求,將結(jié)果打包封裝在一起反饋給交互界面。
目前,基于JSP技術(shù)開發(fā)的軟件非常多,比如常見的公文管理系統(tǒng)、協(xié)同辦公系統(tǒng)、財(cái)務(wù)管理系統(tǒng)等,這些系統(tǒng)均可以在服務(wù)器端執(zhí)行,然后利用表單技術(shù)反饋一個(gè)XML文本給客戶端,只要客戶端安裝了瀏覽器就可以運(yùn)行顯示[3]。目前,JSP技術(shù)的關(guān)鍵技術(shù)也非常多,常見的就是XML技術(shù)、表單技術(shù)和Servlet技術(shù)。XML包括tags和scriptlets兩個(gè)關(guān)鍵類,可以封裝服務(wù)器端的資源信息,實(shí)現(xiàn)對(duì)業(yè)務(wù)處理的封裝。表單技術(shù)可以接收用戶的邏輯業(yè)務(wù)請(qǐng)求信息,將這些信息發(fā)送給服務(wù)器[4]。Java Servlet技術(shù)是JSP的重要基礎(chǔ),也是Web應(yīng)用程序開發(fā)的重要途徑,實(shí)現(xiàn)平臺(tái)無關(guān)性,具有一定的作用和意義。
2 互聯(lián)網(wǎng)應(yīng)用軟件開發(fā)關(guān)鍵技術(shù)應(yīng)用現(xiàn)狀(Current status of application of key technologies in Internet application software development)
2.1 軟件交互界面技術(shù)
互聯(lián)網(wǎng)應(yīng)用軟件擁有一個(gè)良好的交互界面非常關(guān)鍵,因此軟件工程師為了提高軟件交互性,已經(jīng)提出了很多的交互界面開發(fā)技術(shù),比如ASP.NET、JSP、HTML5,這三種技術(shù)均為動(dòng)態(tài)交互界面開發(fā)技術(shù),適用于不同的軟件開發(fā)平臺(tái)。
(1)ASP.NET技術(shù)
ASP.NET(Active Server Pages.NET)技術(shù)是由微軟公司提出的動(dòng)態(tài)交互界面技術(shù),可以與VisualStudio集成開發(fā)平臺(tái)、Webserver服務(wù)器等集成在一起開發(fā)應(yīng)用程序,使用C#程序語(yǔ)言實(shí)現(xiàn)交換界面內(nèi)容,同時(shí)還可以與XML技術(shù)進(jìn)行集成,適用于不同的操作系統(tǒng)。ASP.NET技術(shù)采用了面向?qū)ο蠹夹g(shù),與平臺(tái)無關(guān),設(shè)計(jì)和開發(fā)比較簡(jiǎn)單,具有較好可擴(kuò)展性、可靠性和可伸縮性。ASP.NET首先包括的數(shù)據(jù)處理組件DB、Dataset、Command、DataReader、DataAdapter、Connection和Application,各個(gè)組件之間可以通過Fill()、Update()、Open()、Close()、ExecuteQuery()、ExecuteScalar()、ExecuteReader()等函數(shù)實(shí)現(xiàn)通信、數(shù)據(jù)處理功能。ASP.NET業(yè)務(wù)處理流程如圖1所示。
(2)HTML5技術(shù)
HTML5技術(shù)是傳統(tǒng)HTML技術(shù)的擴(kuò)展和改進(jìn),該技術(shù)設(shè)計(jì)的主要目的就是在智能移動(dòng)設(shè)備上支持多媒體軟件,因此引入的新語(yǔ)法支持視頻、聲音、相機(jī)等功能,HTML5擁有的解析規(guī)則增強(qiáng)了互聯(lián)網(wǎng)應(yīng)用軟件開發(fā)的靈活性,同時(shí)淘汰了過時(shí)的冗余屬性,HTML5技術(shù)增強(qiáng)了信息傳遞的功能,可以實(shí)現(xiàn)離線編輯功能,真正地改變了用戶與文檔新的交互方式。
2.2 軟件架構(gòu)技術(shù)
互聯(lián)網(wǎng)應(yīng)用軟件架構(gòu)包括三個(gè),分別是C/S架構(gòu)、B/S架構(gòu)和云端架構(gòu),可以實(shí)現(xiàn)網(wǎng)絡(luò)通信和分布式處理功能,還可以實(shí)現(xiàn)軟件交互界面、Web信息處理、數(shù)據(jù)庫(kù)服務(wù)處理的交互功能。
(1)C/S架構(gòu)
互聯(lián)網(wǎng)應(yīng)用軟件需要實(shí)現(xiàn)網(wǎng)絡(luò)通信功能,因此最早引入的軟件架構(gòu)就是C/S體系架構(gòu),這個(gè)架構(gòu)開發(fā)的軟件包括兩個(gè)關(guān)鍵組成部分,分別是客戶機(jī)(Client)和服務(wù)器(Service)。客戶機(jī)位于客戶端,比如可以安裝在用戶的PC設(shè)備上,需要從服務(wù)器下載一個(gè)分布式管理系統(tǒng)軟件安裝包,然后安裝在設(shè)備上。安裝完成之后就可以登錄,為用戶提供一個(gè)操作便捷的交互界面,用戶輸入邏輯業(yè)務(wù)請(qǐng)求,比如目標(biāo)定位或搜索等,這些邏輯業(yè)務(wù)請(qǐng)求可以通過網(wǎng)絡(luò)傳輸給服務(wù)器。C/S架構(gòu)如圖2所示。
(2)B/S架構(gòu)
B/S架構(gòu)可以將軟件劃分為三個(gè)層次,分別是交互層、Web服務(wù)器層和數(shù)據(jù)庫(kù)服務(wù)層。交互層能夠?qū)崿F(xiàn)數(shù)據(jù)顯示和信息交互功能,為用戶提供一個(gè)操作服務(wù)接口,這個(gè)接口多是動(dòng)態(tài)的和互動(dòng)的,具有重要的作用。Web服務(wù)層可以實(shí)現(xiàn)邏輯業(yè)務(wù)請(qǐng)求解析和封裝,是交互層和數(shù)據(jù)庫(kù)服務(wù)層之間的通信接口,實(shí)現(xiàn)數(shù)據(jù)業(yè)務(wù)解析,將其劃分為Web邏輯業(yè)務(wù)和數(shù)據(jù)操作業(yè)務(wù)。數(shù)據(jù)層由數(shù)據(jù)庫(kù)管理系統(tǒng)和數(shù)據(jù)庫(kù)共同組成,目前常用的數(shù)據(jù)庫(kù)管理系統(tǒng)為MySQL等,互聯(lián)網(wǎng)應(yīng)用軟件的規(guī)模大,存儲(chǔ)的數(shù)據(jù)量也非常大,因此可以采用MySQL數(shù)據(jù)庫(kù)管理系統(tǒng),這樣就可以提高數(shù)據(jù)在線處理能力,還可以提高大數(shù)據(jù)分析性能,將操作結(jié)果反饋給Web服務(wù)器。B/S架構(gòu)如圖3所示。
(3)云端架構(gòu)
傳統(tǒng)的分布式軟件架構(gòu)由于需要較多的存儲(chǔ)器、通信帶寬和CPU資源,因此會(huì)造成硬件設(shè)備使用浪費(fèi),隨著云計(jì)算技術(shù)的快速發(fā)展,許多計(jì)算機(jī)學(xué)者提出了云端架構(gòu)。云端架構(gòu)采用了虛擬化技術(shù),不需要安裝、重裝應(yīng)用軟件,而是根據(jù)用戶的實(shí)際應(yīng)用需求分配存儲(chǔ)空間,可以將物理資源虛擬擴(kuò)展為數(shù)十倍的邏輯資源,這樣就可以提高用戶訪問效率,同時(shí)還提高了資源利用率。
2.3 軟件數(shù)據(jù)庫(kù)技術(shù)
互聯(lián)網(wǎng)應(yīng)用軟件最為關(guān)鍵的功能就是實(shí)現(xiàn)數(shù)據(jù)傳輸和加工,比如家電管理系統(tǒng)需要保存數(shù)據(jù)信息,包括空調(diào)數(shù)據(jù)、電視機(jī)數(shù)據(jù)等,因此就需要一個(gè)強(qiáng)大的數(shù)據(jù)庫(kù)。目前互聯(lián)網(wǎng)應(yīng)用軟件采用的數(shù)據(jù)庫(kù)很多,包括MySQL、SQLite、SQLserver等[5]。
(1)MySQL數(shù)據(jù)庫(kù)。MySQL數(shù)據(jù)庫(kù)是當(dāng)前最為先進(jìn)的一種數(shù)據(jù)中心信息管理技術(shù),經(jīng)過多年的應(yīng)用和改進(jìn),MySQL數(shù)據(jù)庫(kù)已經(jīng)成為網(wǎng)絡(luò)存儲(chǔ)的核心應(yīng)用技術(shù)之一,普遍應(yīng)用于互聯(lián)網(wǎng)應(yīng)用軟件開發(fā)。MySQL數(shù)據(jù)庫(kù)引入光纖存儲(chǔ)技術(shù),該技術(shù)可以連接主機(jī)和存儲(chǔ)設(shè)備,擁有很多的先進(jìn)技術(shù)優(yōu)勢(shì),比如MySQL數(shù)據(jù)庫(kù)支持GBIC、冗余風(fēng)扇、電源、分區(qū)、環(huán)操作和多管理接口等,這些功能都可以提高智能設(shè)備數(shù)據(jù)存儲(chǔ)、操作的效率,MySQL數(shù)據(jù)庫(kù)設(shè)置了自配置端口,支持環(huán)路設(shè)備和自適應(yīng)速度檢測(cè),能夠?qū)崿F(xiàn)無線網(wǎng)絡(luò)的簡(jiǎn)單管理,擁有可配置的緩沖幀功能,擁有SCSI接口獨(dú)立設(shè)備服務(wù)。
(2)SQLite數(shù)據(jù)庫(kù)。SQLite數(shù)據(jù)庫(kù)是一個(gè)嵌入式的數(shù)據(jù)存儲(chǔ)器,可以實(shí)現(xiàn)數(shù)據(jù)庫(kù)的零配置,廣泛應(yīng)用于互聯(lián)網(wǎng)應(yīng)用軟件,單線程讀寫性能可以與MySQL數(shù)據(jù)庫(kù)比擬,并且能夠保證數(shù)據(jù)庫(kù)的三個(gè)特性,既是原子性、唯一性、不可分割性等。SQLite數(shù)據(jù)庫(kù)存儲(chǔ)后端采用了Btree,可以實(shí)現(xiàn)多個(gè)連接和并發(fā)操作,同一個(gè)時(shí)間僅僅允許一個(gè)程序?qū)憽QLite數(shù)據(jù)庫(kù)以頁(yè)為單位進(jìn)行數(shù)據(jù)信息管理,每一個(gè)頁(yè)都可以容納512字節(jié)的內(nèi)容,同時(shí)支持?jǐn)?shù)據(jù)的優(yōu)先級(jí)存儲(chǔ)和管理,可以按照級(jí)別進(jìn)行劃分,從而可以提高光纖數(shù)據(jù)存儲(chǔ)效率,進(jìn)一步加強(qiáng)存儲(chǔ)器中熱點(diǎn)數(shù)據(jù)管理。
3 JSP技術(shù)在互聯(lián)網(wǎng)軟件中的應(yīng)用優(yōu)勢(shì)(Application advantages of JSP technology in Internet software)
JSP技術(shù)在互聯(lián)網(wǎng)軟件開發(fā)中具有很多優(yōu)勢(shì)技術(shù),比如XML表單技術(shù)、動(dòng)態(tài)交互技術(shù)等。JSP的工作模式是請(qǐng)求和應(yīng)答模式,客戶端可以通過IE瀏覽器發(fā)送HTTP邏輯業(yè)務(wù)請(qǐng)求,JSP接收到業(yè)務(wù)請(qǐng)求之后可以進(jìn)行業(yè)務(wù)解析,解析完畢之后就可以將結(jié)果反饋給客戶端。基于JSP技術(shù)開發(fā)的應(yīng)用軟件首次發(fā)生邏輯業(yè)務(wù)請(qǐng)求時(shí),JSP引擎首先需要將JSP文件轉(zhuǎn)換為servlet,JSP引擎本身也是一個(gè)關(guān)鍵的servlet程序[6]。具體地,JSP業(yè)務(wù)處理流程如圖4所示。
論文指導(dǎo) >
SCI期刊推薦 >
論文常見問題 >
SCI常見問題 >