【文章內容簡介】
中第一章介紹 J2EE 的概況和現(xiàn)狀;第二章介紹了 Java 語言的特點以及所用到的開發(fā)工具和相關軟硬件環(huán)境的背景,并且詳細的說明了開發(fā)所用到的相關技術;第三章分析該作品設計的思想和流程,介紹總體結構;第四章并詳細闡述有關重點實現(xiàn)細節(jié);第五章提及了開發(fā)過程、心得體會、經(jīng)驗和感想。 計算機科學與技術專業(yè)學士學位論文 第 2 頁1 緒論 J2EE概況J2EE 是美國 Sun 公司剛剛推出的一種全新概念的模型,與傳統(tǒng)的互聯(lián)網(wǎng)應用程序模型相比有著不可比擬的優(yōu)勢。當今許多企業(yè)都需要擴展他們的業(yè)務范圍,降低自身經(jīng)營成本,縮短他們和客戶之間的響應時間,這就需要存在一種簡捷,快速的服務于企業(yè),合作伙伴和雇員之間。典型的說,提供這些服務的應用軟件必須同企業(yè)信息系統(tǒng)(EIS)相結合,并提供新的能向更為廣闊的用戶提供的服務。這些服務要具備以下的特點:? 高可用性:來滿足現(xiàn)在的全球商業(yè)環(huán)境? 安全性:保護用戶的隱私和企業(yè)數(shù)據(jù)的安全? 可依賴性和可擴展性:保證商業(yè)交易的正確和迅捷通常這些服務是由分布的應用程序組成的,包括前端數(shù)據(jù)端和后端數(shù)據(jù)源以及它們之間的一層或幾層,這些中間層提供了把商業(yè)功能和數(shù)據(jù)與 EIS 相結合的功能。這些中間層把客戶端從復雜的商業(yè)邏輯中分離出來,利用成熟的 INTERNET 技術使用戶在管理上所花費的時間最小化。J2EE 正式降低了開發(fā)這種中間層服務的成本和復雜程度,因而使得服務可以被快速的展開,并能夠更輕松的面對競爭中的壓力。J2EE 通過定義一種標準的結構來實現(xiàn)它的優(yōu)勢,如下:? J2EE Application Programming Model:一種用于開發(fā)多層次,瘦型客戶用戶程序的標準設計模型? J2EE Platform:一個標準的平臺,用來整合 J2EE 的應用程序,指定一系列的接口和方法? J2EE Compatibility Test Suite:一套兼容測試組件,用來檢測產品是否同 J2EE 平臺兼容? J2EE Reference Implementation:用來示范 J2EE 的能力J2EE 是被設計為顧客,雇員,供應商,合作者提供企業(yè)級服務,這樣的應用程序天生具有復雜性,他們要訪問各種類型的數(shù)據(jù)并分發(fā)于大量的客戶端。為了更好的控制,管理這些應用程序,支持各種各樣用戶的商業(yè)功能要在中間層引入,中間層描述了一個被企業(yè)的信息技術部門緊緊控制的環(huán)境。J2EE 應用程序依靠于 EIS 層來存儲企業(yè)的商業(yè)數(shù)據(jù)。這些數(shù)據(jù)和用來管理它的系統(tǒng)是企業(yè)中的核心。最初,雙層結構(ClientServer )應用程序模型許諾將提高伸縮性與更廣闊的功能,但不幸的是,直接向用戶提供 EIS 服務的復雜性和再每臺用戶計算機上安裝和維護商業(yè)邏輯所引起的管理上的問題成了很大的限制。 而這些再雙層結構中的限制在三層結 計算機科學與技術專業(yè)學士學位論文 第 3 頁構中已不存在了。如今要求既開發(fā)服務的商業(yè)功能,還要開發(fā)訪問數(shù)據(jù)庫和其他資源的代碼,這是很復雜的,因為每一種多層結構的服務器都有它自己的應用模型,因此組建一直富有經(jīng)驗的開發(fā)隊伍將是困難的。另外,隨著服務規(guī)模的擴大,為了降低開支和加快響應速度,也要經(jīng)常對其基層代碼進行修改。J2EE 應用模型定義了一種建筑模型來讓多層應用程序實現(xiàn)服務,并消除了以上的問題,提供了可伸縮的,易訪問的,易于管理的方法。J2EE 應用模型把實現(xiàn)多層結構服務的工作劃分為二部分:開發(fā)者實現(xiàn)商業(yè)和表達邏輯,以及由 J2EE 平臺提供的標準的系統(tǒng)服務。開發(fā)者可以依賴于這個平臺為開發(fā)中間層服務中遇到的系統(tǒng)級硬件問題提供解決方案。J2EE 應用模型為中間層應用程序提供了編譯一次,任意運行的特點(write once,run anywhere) ,這種標準模型最小化了培訓開發(fā)人員的費用。J2EE 應用程序模型通過在建立多層應用程序中最小化其復雜程度,圍簡化和加速應用程序的開發(fā)邁出了重要的一步。當其他的應用程序模型需要在每個程序中有特定平臺的安全性時,J2EE 平臺環(huán)境使在開發(fā)時安全約束便已定義了。J2EE 平臺定義了一種標準的公開的存取控制規(guī)則,當程序在企業(yè)平臺上開發(fā)時就已被程序師定義和解釋了。J2EE 也需要提供一個標準的注冊機制以便應用程序不用將這些注冊機制和邏輯相混合,相同的工作要執(zhí)行于大量的不同的環(huán)境中而并不需要改變源代碼。例如:J2EE 應用程序開發(fā)人員可以指定幾個安全級別(如 user,superuser,administrator) ,于是他們寫出代碼來檢查當前用戶權限的級別當用戶訪問數(shù)據(jù)時。在開發(fā)階段,開發(fā)人員賦予多組用戶適當?shù)陌踩?,使應用程序能夠容易的判斷限制級在?zhí)行限制操作之前。J2EE 應用程序模型的一個主要優(yōu)點便是在中間層的多層應用程序。在 J2EE 平臺,中間層商業(yè)功能是由企業(yè) JavaBean 實現(xiàn)的。這些企業(yè) Beans 允許服務開發(fā)者集中于商業(yè)邏輯,并且讓 EJB Server 處理傳送穩(wěn)定的,可升級服務的復雜工作。JavaServerPages 技術和Servlets 向客戶層提供了易于訪問的 Inter 型服務的中間層功能。Jsp 技術使用戶接口開發(fā)者更加容易的提供向任何瀏覽器用戶提供動態(tài)頁面的服務。Servlets 讓基于 Java 技術的開發(fā)者有更大的自由來在 Java 語言中提供完全的動態(tài)服務。 B/S模型的優(yōu)點幾乎沒有限制的客戶端訪問和極其簡單化的應用程序部署和管理是 B/S 模型的優(yōu)勢所在。它和 C/S 模型比較優(yōu)點極為突出。兩層技術模型(TwoTier Architecture)是指客戶機直接與服務器交流,沒有其他服務介入的技術模型。對用戶量在 12~100 的局域網(wǎng)環(huán)境中,兩層模型的確是個不錯的方案。由于該模型中,所有的用戶連接都是被保持的,也就是說即使在空閑狀態(tài),連接依然存在。所以,用戶的并發(fā)請求數(shù)量有限的。為了解決這個限制,使得成千上萬的用戶可以被無顧慮地添加,我們最好選用三層模型。B/S 結構,即 Browser/Server(瀏覽器/服務器)結構,是隨著 Inter 技術的興起,對C/S 結構的一種變化或者說是改進的結構。用戶界面完全通過瀏覽器實現(xiàn),一部分事務邏輯在前端實現(xiàn),但是主要事務邏輯在服務器端實現(xiàn),形成三層結構,是一種全新的軟件系統(tǒng)構造技術。B/S 模型結構圖如圖 11 所示。 計算機科學與技術專業(yè)學士學位論文 第 4 頁W W W . B r o w s e rI n t e r n e tD a t a B a s e S e r v e rI n t e r n e tW W W S e r v e rS e r v e r P r o g r a mC G I / F a s t C G I / J A V A S e r v l e t s / A S P / J S PH T T P R e q u e s tH T M LR e m o r t U s e r ` s C o m p u t e rI n p u tH T M LS Q L Q u e r yD a t aF i r s t S e r v e r M a c h i n eS e c o n d S e r v e r M a c h i i n e圖 1 1 B / S 模型結構圖從上圖可見,這種結構的一個重要的特點是,用戶可以完全不需要安裝客戶端軟件,當然也不需要擔心任何軟件升級和不兼容等任何客戶端所遇到的問題。相比之下,B/S 模型的優(yōu)點顯而易見,更適合這個網(wǎng)站的構建,有利于網(wǎng)站的維護和擴充。 JSP技術發(fā)展背景Web 技術的迅猛發(fā)展正推動 Inter 上信息服務類的進步。WWW 服務的基礎是HTML 語言。這個系統(tǒng)模塊中用到的 JSP 技術是在 HTML 語言的基礎上使用腳本語言對網(wǎng)頁的對象模型進行編程。JSP 全稱 JavaServerPages,它是由 Sun Microsystems 公司提出、許多公司參與建立的一種動態(tài)網(wǎng)頁技術標準。它誕生在 1999 年 6 月 1 日。目前國內外已經(jīng)在廣泛地使用 JSP。隨著 JAVA 語言得到普及,越來越多的公司開始關注 JSP 的前景。傳統(tǒng)的動態(tài)網(wǎng)頁制作包括 CGI、ASP 、JSP 三種,而 JSP 具有明顯的優(yōu)勢。使用 CGIBINJ 接口是一個最早的動態(tài) WEB 頁面問題的解決方案。缺點,CGI 程序必須從 CGI 接口讀入一長串的字符串,再從字符串中取得所需要的數(shù)據(jù)并加以處理。過程十分繁瑣。另一個缺點,除了 Perl 是解釋語言外,其他都是編譯式的語言。每次修改后,都必須重新編譯一次,這給開發(fā)人員帶來麻煩,增加了工作量。ASP 和 JSP 都能取代 CGI 使網(wǎng)站建設和發(fā)展變得簡單快捷。盡管 JSP 技術和 ASP 在許多方面都有相似的,但仍然存在很多不同之處, 計算機科學與技術專業(yè)學士學位論文 第 5 頁其中最本質上的區(qū)別在于:兩者是來源于不同的技術規(guī)范組織,其實現(xiàn)的基礎,WEB 服務器平臺要求不相同。作為 Java 平臺的一部分,JSP 擁有 Java 編程語言“一次編寫,各處運行 ”的特點。一次寫入,之后,可以運行在任何具有符合 JavaTM 語法結構的環(huán)境。取代之過去單一平臺開發(fā)。 ASP 主要工作環(huán)境是微軟的 IIS 應用程序結構,又因 Activex 對象具有平臺特性,所以 ASP 技術不能很容易地實現(xiàn)在跨平臺的 WEB 服務器的工作。從開發(fā)人員的角度來看其區(qū)別在于:ASP 僅支持組件對象模型 COM,而 JSP 技術提供的組件都是基于 JavabeansTM 技術或 JSP 標簽庫。JSP 標簽可擴充性。JSP 技術能夠使用開發(fā)者擴展 JSP 標簽, JSP 開發(fā)者能定制標簽庫,減少對腳本語言的依賴生成可重用的組件。JSP 基于組件的技術方法加速了總體開發(fā)過程。 JSP 組件(Javabeans,或定制的 JSP 標簽)是跨平臺可重用的。 Javabeans 組件可以訪問數(shù)據(jù)庫,并能以分布式系統(tǒng)模式工作于 UNIX 和 WINDOWS 平臺。易于維護性。 基于 JSP 技術的應用程序比基于 ASP 的應用程序易于維護和管理。 JSP突出的組件技術使修改內容而不影響邏輯或修改邏輯而不影響內容變得很容易實現(xiàn)。如上的比較不難看出,JSP 技術編寫的程序運用要更加靈活,可擴展性更強。 Java語言的特點Java 語言具有以下特點。1. 一次編寫,多處運行這句話十分形象的闡述了 Java 的平臺無關性,而且 Java 程序員也一直以此為精神指南,也是 Java 之所以能夠受到程序設計師們喜愛的原因之一。2. 簡單純面向對象的特性,再加上眾多類庫的支持,使用 Java 開發(fā)各式各樣的應用程序,可以說是易如反掌。除此之外,不論在調試或是程序修改、增加新功能方面,因為對象的特性,使得這些維護也變得非常容易。3. 安全性Java 新增的大部分功能都是針對安全性的問題考慮的,Java 甚至可以對于不同的安全需求而設定 Java 應用程序的安全登記。原則上一個未經(jīng)您允許的 Java 程序,是不可能傷及你的系統(tǒng)一根汗毛的。4. UnicodeJava 字符采用 16 位的 Unicode 編碼,使得 Java 的程序在不同語言的平臺上都編寫和執(zhí)行。簡單地說,你可以把程序中的變量、類名稱使用中文來表示(使用其它文字也可以,但是不能使用特殊符號) ,當你的程序移植到其他語言平臺時,還是可以正常地執(zhí)行。Java也是目前所有電腦語言當中,唯一天生使用 Unicode 的語言。5. 網(wǎng)絡Java 可以說是借助互聯(lián)網(wǎng)而重生的,自然對于具有網(wǎng)絡功能程序的編寫,也是非常容易的。不論是一般互聯(lián)網(wǎng)的程序 Socket、Email,還是服務器網(wǎng)頁的程序 Servlets、JSP,甚 計算機科學與技術專業(yè)學士學位論文 第 6 頁至分布式網(wǎng)絡程序 CORBA 等的相關套件支持,可以說是非常豐富,使用起來也是非常容易。6. 垃圾回收機制Garbage Collection 是由 JVM 協(xié)助我們的程序對內存做動態(tài)的管理,你的程序需要多少內存、哪些對象的內存已經(jīng)不使用了,需要歸還給系統(tǒng),這些繁瑣而且危險的工作全部交由 JVM 去幫我們管理,讓我們能夠更專心的寫程序,不需要擔心內存的問題,而內存的統(tǒng)一管理,對于跨平臺也有相當?shù)膸椭?. 異常處理為了使 Java 程序更加安全、穩(wěn)定,那么程序隨機應變的能力就必須好。Java 引入了異常處理機制,能夠在程序中比較可能有異常情況產生的地方,加上相對應的處理,讓程序不至于因為土法的錯誤,造成執(zhí)行中斷或者是當機的情況。異常處理也讓用戶更能控制整個程序執(zhí)行的流程,也使得程序的設計更為嚴謹。 關于 Java WebJava Web 應用的核心技術是 JSP(Java Server Pages)技術和 Servlet 技術,JSP 是由SUN 公司倡導的,許多公司參與一起建立的動態(tài)王爺技術標準,是基于 Java Servlet 和整個 Java 體系的 Web 開發(fā)技術。它在動態(tài)網(wǎng)頁的建設中有著強大而特別的功能,由于具有跨平臺性、易維護性、易管理性等優(yōu)點,因此,是最有發(fā)展前途的網(wǎng)頁技術。JSP 技術實現(xiàn)了動態(tài)頁面與靜態(tài)頁面的分離,脫離了硬件平臺的束縛,它的一次編譯到處運行的方式大大提高了執(zhí)行效率,逐漸成為因特網(wǎng)上的主流開發(fā)工具。Servlet 是運行在 Web