版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1,Web層Web層設計中的問題與指南Web應用程序部署客戶端,5.顯示層技術,2,5.1 Web層,Web層的工作就是接收來自于HTTP客戶端的輸入,將收到的輸入交給內部的業(yè)務邏輯進行處理,然后將結果通過HTTP協(xié)議送回客戶端。,5.顯示層技術-Web層,在基于Interent的分布式應用框架中,顯示層一般由Web層和客戶端兩部分組成。,3,JSP文件:從HTTP的請求中提取參數,調用相應的業(yè)務邏輯,處理HTTP會話,最后生成H
2、TTP文檔??偟目磥恚@個模型的好處是簡單,但是它把業(yè)務邏輯和表現混在一塊,對大應用來說,這個缺點是令人容忍不了的。,兩種模型,5.顯示層技術-Web層,4,MVC模式(Model/View/Controller),5.顯示層技術-Web層,定義:MVC是一個設計模式,它強制性的使應用程序的輸入、處理和輸出分開。,視圖:用戶看到并與之交互的界面。對老式的Web應用程序來說,視圖就是由HTML元素組成的界面,在新式的Web應用程序中,還包
3、括Macromedia Flash和象XHTML,XML/XSL,WML等一些標識語言和Web services。,5,模型:表示企業(yè)數據和業(yè)務規(guī)則。在MVC的三個部件中,模型擁有最多的處理任務。被模型返回的數據是中立的,即模型與數據格式無關。,5.顯示層技術-Web層,控制器:接受用戶的輸入,根據請求決定調用模型構件去處理請求,然后確定用哪個視圖來顯示模型處理返回的數據。,6,,7,為什么要使用 MVC,5.顯示層技術-Web層,多個
4、視圖能共享一個模型。由于MVC已經將數據和業(yè)務規(guī)則從表示層分開,無論用戶想要Flash界面或是WAP界面,用一個模型就能處理它們, 可以最大化的重用代碼 。,模型返回的數據沒有進行格式化,所以同樣的構件能被不同界面使用。,8,,5.顯示層技術-Web層,由于運用MVC的應用程序的三個部件是相互對立,改變其中一個不會影響其它兩個,所以依據這種設計思想能構造良好的松偶合的構件。,可以使用控制器來聯接不同的模型和視圖去完成用戶的需求,這樣控制
5、器可以為構造應用程序提供強有力的手段。,9,MVC的缺點 使用MVC需要精心的計劃,花費相當可觀的時間去考慮如何將MVC運用到應用程序,同時由于模型和視圖要嚴格的分離,這樣也給調試應用程序到來了一定的困難。 所以使用MVC同時也意味著要管理比以前更多的文件,增加了工作量。,5.顯示層技術-Web層,10,,5.顯示層技術-Web層,MVC設計模式是一個很好創(chuàng)建軟件的途徑,但是如果要隔離模型、視圖和控制器的構件,則要重新思考應用程序,
6、尤其是應用程序的構架。 MVC并不適合小型甚至中等規(guī)模的應用程序,花費大量時間將MVC應用到規(guī)模并不是很大的應用程序通常會得不償失。,11,交付應用的功能到Web之上:應用設計通常將業(yè)務邏輯從數據顯示中分離出來。Web層為后端應用模型中的業(yè)務邏輯(可以被其它類型的客戶端共享訪問),接收HTTP輸入并產生HTTP輸出。,Web層的功能,5.顯示層技術-Web層,12,動態(tài)內容創(chuàng)建:Web層組件為產生動態(tài)Web內容來設計的。Servle
7、ts和JSP頁面可以基于用戶的輸入與上下文將來自于多種源的數據格式轉化為任意的數據格式。,屏幕流程:由于屏幕流程往往對應到特定的客戶端的動作,因此決定下一屏幕(也即哪個頁面)應該顯示什么的邏輯一般駐留在Web層。,5.顯示層技術-Web層,13,數據表示和輸入收集:Web層和Web客戶端進行通訊以使得格式化代碼的Web文檔自然就屬于Web層。其次,用戶的輸入以HTTP的PUT和GET動作到達Web層,Web層收到這些動作即將其翻譯為某種
8、形式(經常是某種形式的命令對象)以便其余的應用可以理解。,5.顯示層技術-Web層,14,狀態(tài)管理:Web層有一個簡單的、靈活的機制用來在一個用戶的會話期間積聚相應的事務型數據和上下文數據。,協(xié)議轉換:EJB 服務器、數據庫、EIS層資源管理器和其它的網絡資源都有它們自己的協(xié)議。Web層作為一個軟件層,把來自于其它協(xié)議的請求和應答翻譯為HTTP形式,或者,把HTTP請求和應答翻譯成其它協(xié)議的形式。,5.顯示層技術-Web層,15,對多種
9、潛在的客戶端類型的支持:Web使用HTTP協(xié)議來傳送數據給客戶端,數據通過MIME類型(一種擴展的內容分類機制)來描述。任何HTTP形式的客戶端都能夠加入一個Web應用,且此客戶端能夠使用可以下載內容的任意類型,即使內容的類型還未存在。,5.顯示層技術-Web層,16,J2EE的Web層技術提供了服務器的擴展機制,該機制提供了一種基于服務器端腳本設計所帶來的好處,并且采用的是一種標準的、安全的、廠商中立的方法。Web應用及支持它的Web
10、層技術包括Web 檔案(archive)、Web層組件模型、servlets, JSP 及J2EE的Web 容器。,Web層技術,5.顯示層技術-Web層,17,Web檔案:對一個Web應用的打包和部署之單元稱之為一個Web檔案(Web archive,以“.war”作為文件名的結尾),此文件包含當前Web應用的所有類文件與資源,Web檔案也包含一個配置該應用的部署描述器文件。,5.顯示層技術-Web層,18,Web容器:一個容器是位于
11、服務器里面的類之集合,它們相互合作以管理組件實例的生命周期并對那些實例提供數據和服務。 J2EE規(guī)范定義了一個在Web容器與每一Web組件之間的約定/契約,用以定義組件的生命周期、組件必須實現的行為、以及服務器必須提供給該組件的服務。,5.顯示層技術-Web層,19,Web容器的作用:,分發(fā)服務請求:容器分發(fā)服務請求給它所包含的組件,將上下文數據(如會話數據與當前請求的信息)提供給組件,并且協(xié)調該組件響應內容的產生。,HTT
12、P請求的應答:對于URL的HTTP請求翻譯成對組件實例的調用,并將基于組件所產生的內容生成相應的HTTP應答。,5.顯示層技術-Web層,20,組件生命周期的管理:Web容器通過回叫(callback)的方式來通知組件的狀態(tài)變化如實例初始化和消亡,實現對其組件的生命周期管理。,5.顯示層技術-Web層,21,Servlet是一種Java平臺服務器端擴展組件,它運行在一個Web容器的里面。在一個Web應用中,每一Servlet的類都被映射
13、成Web服務器中的一個或多個URL地址。當服務器接收到對某個servlet的URL的一個HTTP請求(GET, POST等)的時候,服務器調用相應的servlet的服務方法(service()),該方法產生此應答的動態(tài)內容。,Servlet,5.顯示層技術-Web層,22,Servlets特點,Servlets采用Java來書寫,因此能夠運行在一個內嵌在Web Server里面的JVM實例之上。,Servlets通常比CGI程序或腳本要
14、快,因為它們運行的形式是編譯過的字節(jié)碼,取代的是一個笨重的進程或一個解釋腳本。,5.顯示層技術-Web層,23,Servlets比擴展庫要安全,因為JVM實例通??梢曰謴鸵粋€非正常退出的servlet 。,與服務器端腳本技術相比,servlets的移植性更好,并且它所提供的是一個更為豐富的標準服務的集合。,5.顯示層技術-Web層,24,由于Java平臺所固有的運行時的可移植性,編譯過的servlet類具備二進制形式的跨硬件平臺的移植性
15、; servlet與其容器之間的契約由Java Servlet規(guī)范予以定義并且由J2EE兼容測試包檢驗過(在一個J2EE品牌的產品里),因此servlets也可以跨Web服務器兼容。,5.顯示層技術-Web層,25,Servlet開發(fā)人員可以創(chuàng)建能在所有J2EE品牌服務器上正確運行的產品,J2EE服務器用戶可以更換技術廠商而只做很小的甚至根本就不需要更改它們的應用代碼。,打包和部署servlets(及其它的Web層組件和資源)的規(guī)范化和
16、標準化,確保了一個Web應用不用作任何代碼修改或重建,就可以作為一個單獨的單元部署到任何J2EE品牌的服務器里面。,5.顯示層技術-Web層,26,Servlet存在的問題,Servlets 寫起來比較冗長:很多產生HTML的servlets比起Web頁面要長一些,它帶有以System.out.println()環(huán)繞的每一行、在每一個雙引號之前都有反斜線符號、并且可能一塊邏輯或這里和那里的重述。這樣的servlets寫起來比較煩悶,而且
17、讀和維護都是比較困難的。,5.顯示層技術-Web層,27,Servlets 是程序:對于所有的哪怕是最簡單的情況,servlets都需要編程人員來開發(fā)和維護。程序員不必熟悉圖形設計,圖形設計人員經常不是程序員。聯合編程邏輯和先進的可視化設計的servlets對于程序員和圖形設計人員來講,更改起來都是比較困難的。,5.顯示層技術-Web層,28,Servlet 代碼不易重用:基于HTML的Web應用通常包括大量的重復,很多使用的場合多次放
18、在一個Web應用中,HTML頁面經常包含重復的樣式元素來提供一致的外觀和感覺。但是servlet的API提供很少對于重用業(yè)務或顯示邏輯的直接支持,結果通常是剪切與粘貼式的編碼風格犧牲了一致性與可維護性。,5.顯示層技術-Web層,29,Servlets 混合功能代碼和顯示代碼在一起:這種做法限制看起來很小,實際上它往往是所有其它問題的根源。基本的問題是業(yè)務邏輯和數據表示基本上是不同的層面,將這兩者混合在一種單一的技術(既servlet)
19、導致的是混淆設計、實現和維護。,5.顯示層技術-Web層,30,Servlet的建議,使用servlets 實現服務:除了產生二進制內容以外,servlets一般提供無可視化的功能。一個servlet可以執(zhí)行它所提供的服務—模板化、安全、個性化、MVC控制—然后選擇一個顯示組件并轉交請求給該組件去顯示。,5.顯示層技術-Web層,使用servlets作為控制器:一個Web層控制器,用來決定如何處理一個請求并選擇下一個要顯示的視圖。,31
20、,JSP,一個JSP頁面是一個模板文檔,其中包含有特殊的標記用來執(zhí)行內嵌的邏輯。JSP頁面可以被用來指定任何類型的動態(tài)內容,但是它們主要用來創(chuàng)建結構化的內容(如HTML, XML, XHTML, PDF)。,5.顯示層技術-Web層,32,JSP特點,JSP頁面比servlets更容易書寫:JSP頁面看起來非常象HTML,帶有少量的附加標記,沒有重復的println()語句或者也不需要反斜線回退字符.,5.顯示層技術-Web層,33,J
21、SP頁面不需要編程技能:JSP頁面看起來很象它生成的文檔類型,文檔格式的專家可以不是一個程序員即可以直接編輯之。任何實際的編程或多或少地從顯示代碼中分離出來,因此程序員和文檔格式專家可以相對獨立地進行工作.,5.顯示層技術-Web層,34,JSP 頁面支持代碼的重用:JSP頁面有顯式代碼重用機制。在一JSP頁面里面有一些特殊的標記來使用JavaBeans組件,編程人員可為其特殊的用途來定義可定制標記。JSP標記語言中的包括指示提供兩種文
22、檔內容的重用:編譯時和運行時。這些機制可以通過減少重復代碼進而提高代碼的質量.,5.顯示層技術-Web層,35,JSP 頁面將功能從顯示中分離開來:JSP頁面格式是一針對某一文檔的模板,其中帶有業(yè)務邏輯,該邏輯要么嵌在JSP頁面中的特殊標記里(作為腳本元素),要么采用beans或可定制標記。分離功能(業(yè)務邏輯)與形式(顯示)允許程序員和文檔作者集中于他們的核心技能之上。這種對開發(fā)角色的劃分是J2EE平臺的主要優(yōu)勢之一。,5.顯示技術-W
23、eb層,36,JSP工作流程 一個JSP頁面對其作者來說象一個文檔,然而Web容器實際上把JSP頁面作為servlets來實現。在一個JSP頁面可以運行在一JVM實例之上時,它必須被轉換成(通過一個轉換器)一個servlet,該servlet然后被編譯成一個可以裝載的類。一個JSP通常直接部署到一個Web容器之中,由容器來處理相應的翻譯和編譯。,5.顯示層技術-Web層,37,38,JSP的建議,使用JSP頁面作為結構文本內容的
24、模板:JSP頁面大多數是用來生成文本的內容通常有一致結構的文本。JSP頁面也被用來產生非結構化的文本文件。 JSP頁面通常并不適合于以下的幾種情形:創(chuàng)建二進制內容、激活應用域邏輯、創(chuàng)建帶有高度可變結構的內容、或控制請求路由等等。,5.顯示層技術-Web層,39,避免對邏輯標記的大量使用:標準標記庫通常提供一些邏輯標記用來循環(huán)、執(zhí)行迭代、評估表達式、作出決定等。應該意識到使用標準標記庫可以執(zhí)行JSP頁面中很大一部分邏輯。將邏輯放在程序以外
25、的可定制標記之中提供的優(yōu)勢較少,并且違背了邏輯和顯示的分離原則。,5.顯示層技術-Web層,40,正確使用JSP include指示與動作: 動作允許將或靜態(tài)的或動態(tài)的內容包含進此JSP頁面,指示通常用來模塊化Web頁面,重用內容,并保持Web頁面的長度可以被管理。如果濫用之,則使代碼膨脹。,5.顯示層技術-Web層,41,Web層狀態(tài),一個servlet、servlet過濾器或JSP頁面通常創(chuàng)建相應的帶有包含在該服務請求中數據的應答,
26、不過經常需要來自于其它源的數據來處理它的工作。用來創(chuàng)建一個應答數據的一個Web層組件稱為狀態(tài)(state)。Web層狀態(tài)的每一項都有一個范圍(scope),用來決定此項目的訪問型及其生命周期。,5.顯示層技術-Web層,42,應用范圍/作用域(Application scope),應用范圍狀態(tài)存貯在Web層的ServletContext對象中,應用范圍中的對象在此應用內所有的servlets之間共享,線程安全由servlet開發(fā)人員負責
27、。應用范圍中的狀態(tài)在應用的生存期間一直存在,除非它被顯式地刪除。為一個Web應用的“全局內存”。,5.顯示層技術-Web層,43,servlet API提供將數據與一個用戶會話關聯起來的機制,在后續(xù)的請求過程中訪問或修改此數據。對一個HttpServlet而言的會話范圍狀態(tài)存貯在Web層的HttpSession對象(由該服務方法的HttpServletRequest參數來提供)之中。是對于特定于某一用戶會話的數據。,會話范圍(Ses
28、sion scope),5.顯示層技術-Web層,44,一個Web組件可以讀或修改在請求范圍內的數據然后轉交此請求給另一組件。請求被轉交給的組件然后就可以訪問到此狀態(tài)。請求范圍內的狀態(tài)存貯在一個ServletRequest對象里面,因此它可以被接收該請求的任何組件訪問到。特定于一個單獨的服務器請求的數據,當服務方法返回的時候被丟棄。,請求范圍(Request scope),5.顯示層技術-Web層,45,僅僅適用于JSP頁面,以指示該
29、數據僅在當前頁面的上下文中有效。頁面范圍狀態(tài)存貯在一個JSP頁面的PageContext對象中。當一個JSP轉交給或包含另一個的時候,每一個頁面定義它自己的范圍。頁面范圍的狀態(tài)在程序從該頁面中退出的時候被丟棄掉。,頁面范圍(Page scope),5.顯示層技術-Web層,46,Web層會話狀態(tài)的優(yōu)勢,易于實現:因為應用服務器處理了HttpSession的實現,開發(fā)人員從對管理會話狀態(tài)中所需要的設計、實現、測試代碼的細節(jié)中解脫出來。,優(yōu)
30、化:一個應用服務器的HttpSession的實現是根據它本身作了優(yōu)化和測試的,因此也許比一個客戶化的解決方案更為有效、可靠。,5.顯示層技術-Web層,47,潛在的更豐富的功能集:一個應用服務器對于會話狀態(tài)管理的實現可能包括諸如故障恢復、集群支持等功能,這已超出了J2EE平臺規(guī)范的基本需求。系統(tǒng)架構師可以區(qū)分服務器平臺所提供的功能,并選擇出最能適合當前應用需求的平臺,與此同時維護J2EE技術的兼容性和可移植性。,5.顯示層技術-Web層
31、,48,可移植性:HttpSession接口是標準化的,因此在所有的J2EE品牌的應用服務器中都必須通過J2EE兼容性測試包(CTS)。,可伸縮性:HttpSession可以有效地管理會話狀態(tài)的存貯,將它放在緩存和/或服務器集群之中。,5.顯示層技術-Web層,49,可進化性(Evolvability):應用服務器廠商會堅持不懈地改善它們的產品及其功能,甚至在服務器增加某些提高性能和可靠性功能的時候,它將維護已有的接口以保證兼容性。一個
32、Http Session實現今天能正常工作,明天也將工作得更好,因為服務器版本的提升很少或根本就不做對源碼的修改。,5.顯示層技術-Web層,50,5.2 Web層設計問題及其指南,Web層技術選擇,5.顯示層技術- Web層設計問題及其指南,Servlets 和JSP頁面都是Web層組件,但是在設計中扮演的是不同的角色。XML可以被用來作為針對數據互操作性的“中心”格式,且可以在客戶端或服務器端以CSS或XSL的風格進行設計。,51,
33、何時使用JSP頁面:通常,JSP頁面大多用來作為顯示組件,在一個MVC應用中扮演View角色,或者用來創(chuàng)建結構化的、非可視化的內容,如XML消息。,何時使用 servlets:Servlets主要用來作為MVC控制器組件,作為框架支持組件(諸如模板處理器、安全適配器、日志器等等),或者作為對二進制內容的顯示組件。,5.顯示層技術- Web層設計問題及其指南,52,在交互式Web應用里面的XML:XML可以被使用于交互式的應用中。一個We
34、b層控制器可以翻譯HTTP請求為對Web Service方法的調用,并能使用CSS、XSL或可定制代碼來轉換調用的結果為正在請求的客戶端的顯示格式。這種方法只有在沒有更快、更可靠、或更輕量級的方式去訪問應用模型的時候才被建議使用,如直接訪問底層的企業(yè)級Java組件。,5.顯示層技術- Web層設計問題及其指南,53,Web層狀態(tài)維護 狀態(tài)維護決定對應用性能、可用性、伸縮性等有著極大的影響。此類決定包括選擇相應的層來管理狀態(tài),對狀
35、態(tài)的每一項選擇相應的作用范圍,并且有效地跟蹤一分布式環(huán)境下的對話狀態(tài)。,5.顯示層技術- Web層設計問題及其指南,54,Web層設計指南,可維護性客戶端獨立性及代碼重用隔離開發(fā)人員的技能集,將業(yè)務邏輯從顯示邏輯中分離出來:,5.顯示層技術- Web層設計問題及其指南,55,在一個應用設計中創(chuàng)建業(yè)務和顯示層是一個很好的習慣。業(yè)務層只提供應用功能而不會有對顯示的引用,顯示層為用戶(或另一系統(tǒng))顯示數據與輸入提示,委托應用功能給業(yè)務層。
36、業(yè)務規(guī)則能夠在一個層中被修改,而對顯示層作很少或根本不作修改。應用的顯示或工作流程可以改變而不會影響業(yè)務邏輯代碼。,5.顯示層技術- Web層設計問題及其指南,56,將協(xié)議置于模型API之外,一個模型類應該在一個Web容器外是可用的。對Web容器的模型依賴導致不必要的耦合,降低設計清晰性并使維護和單元測試更為困難。,5.顯示層技術- Web層設計問題及其指南,57,5.3 Web應用程序部署,Web應用是一個Servlet、HTML頁面
37、、類和其它資源的組合,應包含如下組件。,Web應用組件構成,5.顯示層技術- Web應用程序部署,58,Servlet JSP實用程序類靜態(tài)文檔(HTML、圖片和聲音等)客戶端的Applet、Bean和類等描述性的元信息,用于把上面的所有組件組合到一起,5.顯示層技術- Web應用程序部署,59,設置J2EE服務器環(huán)境變量:為運行J2EE服務器環(huán)境通常必須設置環(huán)境變量,而且不同的廠家實現和操作系統(tǒng)平臺上會有很大變化。,配置J2
38、EE服務器屬性:為大部分J2EE服務器實現配置屬性,使其適合于特定的網絡和操作環(huán)境。,Web應用部署,5.顯示層技術- Web應用程序部署,60,編譯J2EE應用程序代碼:所有J2EE Web組件代碼必須用標準的Java編譯器編譯。,創(chuàng)建J2EE Web應用程序部署描述符:根據以前定義的Web應用程序DTD創(chuàng)建一個基于XML的發(fā)布描述符。,5.顯示層技術- Web應用程序部署,61,封裝J2EE Web應用程序代碼: Web發(fā)布描述符、
39、所有編譯好的J2EE Servlet類、所有HTML文件、所有圖形文件以及其它Web資源需要封裝到一個帶.war擴展名的Web應用程序歸檔文件中。,5.顯示層技術- Web應用程序部署,62,啟動J2EE服務器:這一步要啟動J2EE兼容的服務器。啟動服務器的機制通常與廠家有關,但也可以簡單到在命令行中激發(fā)單一的啟動命令。,創(chuàng)建一個J2EE應用程序描述符:必須創(chuàng)建一個J2EE應用程序部署描述符把一個或多個Web、EJB和應用程序客戶模塊連
40、接到J2EE應用程序中。,5.顯示層技術- Web應用程序部署,63,封裝J2EE應用程序代碼:應用程序部署描述符、Web應用程序、EJB應用程序和應用程序客戶需要封裝到一個企業(yè)級歸檔(EAR)文件中,擴展名為.ear 。,發(fā)布J2EE Web應用程序代碼:最后,集成J2EE應用程序部署到J2EE服務器環(huán)境中供企業(yè)應用程序客戶訪問。,5.顯示層技術- Web應用程序部署,64,5.3 客戶層,對一個企業(yè)級應用的用戶,客戶端就是應用???/p>
41、戶端代表用戶向服務器發(fā)出請求,并將請求的結果顯示給用戶。客戶端經常加強數據的一致性規(guī)則,并可能實現一些業(yè)務邏輯。因此,挑選一種能最好地適合應用的需求且提供給用戶一個豐富接口的客戶端配置是很重要的。,5.顯示層技術-Web層,65,運行設備:一個便攜機、一個臺式機,或在一個PDA或電話上。,J2EE平臺支持的客戶端,網絡環(huán)境:從一個企業(yè)的Intrnet或互聯網可以連接到一個有線或無線的網絡。,網絡環(huán)境:從一個企業(yè)的Intrnet或互聯網可
42、以連接到一個有線或無線的網絡。,5.顯示層技術-Web層,66,顯示方式:瀏覽器、GUI組件,實現方式:HTML或Java,甚至可以是Visual Basic。,實現功能:企業(yè)信息系統(tǒng)(EIS)客戶端:EIS客戶端使用一種接口(如JDBC API等)連接到EIS層。針對EIS的編程模型通常遵循兩層或三層客戶機/服務器體系結構的規(guī)范。,5.顯示層技術-Web層,67,EJB客戶端:使用Java技術的EJB 客戶端通過RMI(遠程方法調用
43、)API來連接到EJB層。這種情況下,傳輸的協(xié)議為IIOP(Inter-ORB Protocol)。RMI機制為Java客戶端開發(fā)人員隱藏了IIOP的細節(jié),但是使用非Java技術的開發(fā)人員也可以通過IIOP連接到EJB層。,5.顯示層技術-Web層,68,Web客戶端:Web客戶端使用HTTP作為傳輸協(xié)議連接到Web層。Web客戶端的類型不僅包括瀏覽器,而且包括Java Applets、MIDIets和應用以及其它的企業(yè)服務。,5.顯示
44、層技術-Web層,69,服務器端體系結構:在Web上最簡單和最常用的體系結構是完全依靠服務器來提供用戶界面內容、它的構造邏輯以及與用戶的相互作用。每一個用戶動作都產生一個對服務器的請求,服務器處理這個請求并計算結果,生成一個新的頁面再次發(fā)送到客戶端。,客戶端三種體系結構,5.顯示層技術-Web層,70,,,,用戶動作,內容和控制的產生,瀏覽器,客戶機,響應,請求,內容構建,業(yè)務邏輯,控制邏輯,服務器,,,,,,服務器端體系結構,好處:所
45、需客戶端資源少,應用邏輯不用裝入,啟動用戶交互所需的網絡通信量很少。支持的技術包括Java Servlet,JavaServer Pages。,71,客戶端腳本體系結構:該方式就是將腳本作為HTML頁面的一部分,將動態(tài)內容從服務器傳送給客戶端。腳本通常包括一些不需與服務器應用程序通信就能在客戶端執(zhí)行的應用邏輯。復雜邏輯仍然由服務器執(zhí)行。,5.顯示層技術-Web層,72,客戶端腳本體系結構,,,,用戶請求頁面切換,頁面/簡單控制邏輯,瀏覽
46、器,客戶機,響應,內容構建+邏輯嵌入,商業(yè)邏輯,切換/復雜控制邏輯,服務器,,,,產生,,,內容修改,,73,客戶端應用體系結構:提供一個運行在客戶端的功能完全的應用程序。用戶可以下載這個程序,此后它將控制用戶的交互和內容構造。當服務器上的業(yè)務邏輯必須初始化時,通信才成為必要。 好處:將用戶界面和業(yè)務邏輯的區(qū)別去掉了;和用戶交互時于服務器的通信很少;Web頁面可離線瀏覽;不需要很多服務器資源。,5.顯示層技術-Web層,74,
47、客戶端應用體系結構,75,設置J2EE服務器環(huán)境變量:為運行J2EE服務器環(huán)境通常必須設置環(huán)境變量,而且不同的廠家實現和操作系統(tǒng)平臺上會有很大變化。,配置J2EE服務器屬性:為大部分J2EE服務器實現配置屬性,使其適合于特定的網絡和操作環(huán)境。,Web應用部署,5.顯示層技術-Web層,76,客戶層的實現J2EE平臺一般鼓勵“瘦客戶端”配置,因為組件模型將繁重的功能如業(yè)務操作和述訪問交給服務器進行處理。這并不是說,J2EE客戶端就是啞終
48、端;一個J2EE 應用客戶端可以處理一系列的事情,如消息、顯示、輸入校驗和會話管理。,5.顯示層技術-Web層,77,Web瀏覽器:瀏覽器是J2EE客戶端最簡單的一種類型。它們顯示以某些標記語言來書寫的文檔,該標記語言指定要顯示的數據以及那些數據該怎樣被顯示。,Java applet客戶端: Java applet客戶端是用戶接口組件典型地在一個Web瀏覽器內執(zhí)行,盡管它們可以在多種支持applet編程模型的其它應用或設備中執(zhí)行。,5.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Web應用程序客戶端腳本安全技術研究.pdf
- 一種Web應用程序客戶端行為自動監(jiān)控技術.pdf
- 基于web客戶端的IP層應用VPN系統(tǒng)的研究與實現.pdf
- Web應用程序安全評估與客戶端讀寫安全控制技術研究.pdf
- web應用程序設計(aspnet)
- web應用程序設計專業(yè)
- Web應用中的客戶端緩存技術研究.pdf
- 基于Web服務的智能客戶端研究與應用.pdf
- 基于web服務應用程序設計
- Web富客戶端互動游戲開發(fā)與應用.pdf
- web應用程序設計課后習題
- Lotus Connections Web服務客戶端開發(fā)平臺的設計與應用.pdf
- web應用程序完全測試指南
- 工業(yè)實時監(jiān)控系統(tǒng)web客戶端實現
- 工業(yè)實時監(jiān)控系統(tǒng)web客戶端實現
- Web客戶端攻擊檢測與防御研究.pdf
- 語義Web應用程序設計與實現.pdf
- web應用程序設計教學大綱
- 風電場SCADA系統(tǒng)的Web客戶端設計與實現.pdf
- 通用Web服務客戶端的研究與實現.pdf
評論
0/150
提交評論