第4章WEBapplication_第1頁
第4章WEBapplication_第2頁
第4章WEBapplication_第3頁
第4章WEBapplication_第4頁
第4章WEBapplication_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、第4章 web application4.2 web application4.3 web modules 4.4 web application life cycle4.5 web module 的部署4.6 case: library web application 4.1 http簡介 4.1 http簡介http(hyper text transfer protocol)是web應(yīng)用的標(biāo)準(zhǔn)通信協(xié)議http協(xié)議采用“請求請求/響應(yīng)響應(yīng)”模型:)客戶端(如瀏覽器)向服務(wù)器發(fā)請求(request),索取特定資源(任何類型:html文檔、動態(tài)內(nèi)容)服務(wù)器端若能滿足要求,則返回一個包含正確內(nèi)容的

2、response(響應(yīng)),否則客戶端收到的響應(yīng)里面將包含一段錯誤信息。http協(xié)議特點:)無狀態(tài)協(xié)議無狀態(tài)協(xié)議(stateless protocol) 服務(wù)器每次響應(yīng)完一次請求后,不會留下客戶端的任何信息。4.1.1 http的特點)無法判斷請求來源點擊鏈接、單擊按鈕、用戶組件等解決辦法:)無狀態(tài):servlet)請求來源:servlet、jsp以及客戶端腳本(javascript)4.1.2 urlhttp:/ http請求(request)一個典型的http請求包括:一個請求命令行(request line) 一段請求報頭(request header) 一個空行可選的請求主體(reque

3、st body)例如:get/index.htm http/1.1host:connection:closeaccept-encoding:gzipaccept:*/*accept-language:en-usaccept-charset:iso-8859-1,*,utf-8user-agent:mozilla/4.0(compatible;msie 7.0;windwos nt 6.0;.net 3.0.04506)referer:http:/請求報頭請求命令行請求方法:get、post、head、put、delete、options、trace、connect空行:通知服務(wù)器以下不再有報頭

4、。請求主體只適用于某些請求方法,如使用post傳送數(shù)據(jù)。get方法沒有配合請求主體。4.1.4post和get方法除了請求報頭之外,還可以通過請求參數(shù)向服務(wù)器傳遞更多額外的信息。對應(yīng)于不同的請求方法,主要有用于get方法的查詢字符串方式(query string)和用于post方法的請求主體方式。例 :get方法http:/ 和get的最大區(qū)別在于參數(shù)的傳遞方式。get只使用查詢字符串方式post是把參數(shù)放在請求主體(request body)里面。使用post方式,瀏覽器則會向瀏覽器發(fā)送如下的請求:例如:post /servlet/login http/1.1host:connection:

5、closeaccept-encoding:gzipaccept:*/*accept-language:en-usaccept-charset:iso-8859-1,*,utf-8user-agent:mozilla/4.0(compatible;msie 7.0;windwos nt 6.0;.net 3.0.04506)user=liang&password=1234.1.5 http響應(yīng)(response) web服務(wù)器收到請求后,根據(jù)請求的url、請求報頭和請求參數(shù)等信息進行處理。有可能讀取一個靜態(tài)的html頁面、圖片、服務(wù)器端組件等。http響應(yīng)的格式:狀態(tài)行、響應(yīng)報頭、一個空

6、行、響應(yīng)主體組成。例如:http/1.1 200 oklast-modified:mon,april 16,2007 2:03:37 amdate:mon,mon, april 23,2007 12:01:42 amstatus:200content-type:text/htmlcontent-length:186 jsp page jsp page 狀態(tài)行響應(yīng)報頭一個空行響應(yīng)主體狀態(tài)碼:成功4.2 web application4.2.1 a web application is a dynamic extension of a web or application server. 1)pr

7、esentation-oriented web application : 產(chǎn)生可交互的web 頁面 (包含各種標(biāo)記語 言: html、xml等),以便動態(tài)地響應(yīng)用戶的請求。 2)service-oriented web application : a service-oriented web application implements the endpoint of a web service. 4.2.2 類型: presentation-oriented applications are often clients of service-oriented web application

8、s.4.2.3 web application 的構(gòu)成: web components, static resource files ( images), helper classes ,和 libraries.4.2.4 web components :provide the dynamic extension capabilities for a webserver. java servlets, jsp pages, web service endpoints(1)servlets是java語言編寫的類,它可以動態(tài)地處理請 求(requests)和創(chuàng)建響應(yīng)(responses) (2)

9、jsp pages 是文本型文件 jsp pages execute as servlets (3) javaserver faces技術(shù) 建立在servlet 和jsp技術(shù)基礎(chǔ)之上,為web 應(yīng)用系統(tǒng)提供了用戶接口組件框架。特點: ()servlets 適合 service-oriented applications (web service endpoints are implemented as servlets) 以及在presentation- oriented application中扮演控制流程角色()jsp pages 適合于頁面標(biāo)記語言:html、xml等。說明:)servl

10、et技術(shù)是web應(yīng)用系統(tǒng)的基礎(chǔ))其他技術(shù)是在servlet技術(shù)基礎(chǔ)上做了某些抽象,使 web系統(tǒng)更好編寫、維護、健壯。)大多數(shù)javaee web clients 使用http protocol ,因此對http 的支持是web components的主要方面figure 41 javawebapplication technologiesfigure 2 java webapplication requesthandling)然后web組件會生成一個httpservletresponse object)最后web server把httpservletresponse object轉(zhuǎn)換成一個h

11、ttp response , 傳遞給用戶。1) 用戶發(fā)送一個http request 到web server.2 )web server把request轉(zhuǎn)換成一個 httpservletrequest object3 )httpservletrequest object被傳遞給web組件,從而web組件可以讀取 httpservletrequest object的內(nèi)容,以獲得用戶的信息。) web組件可以直接訪問數(shù)據(jù)庫,或者通過javabean,以產(chǎn)生動態(tài)的響應(yīng)內(nèi) 容; web組件可以調(diào)用另外的web組件,并且把httpservletrequest object 傳遞過去。4.2.5 web應(yīng)

12、用系統(tǒng)處理用戶請求過程:1)web container為web components 提供運行時的服務(wù): request dispatching, security, concurrency, life-cycle management,以及 訪問api( naming,transactions, and email)2)web application有一個web application 配置文件(web application deployment descriptor):使得web application 被部署到web container后,某些行為會有些差異。4.2.6影響web ap

13、plication運行時的行為 組成: 1)web components 2)static web content files 3)server-side utility classes (database beans, shopping carts等):一般要符合javabeans 組件規(guī)范 4)client-side classes (applets 、 utility classes).4.3 web modules4.3.1 web modules概述web resources : web components 與 static web content files (如: images

14、)。web module: a web module is the smallest deployable and usable unit of web resources. 一個web module 與一個 web application相對應(yīng)說明:1)一個web應(yīng)用程序是由一組servlet、jsp、html頁 面、java類以及其他的資源組成的運行在web服務(wù)器 (web容器:web container)中的完整的應(yīng)用程序。 2)web應(yīng)用程序以一種結(jié)構(gòu)化的有層次的目錄形式存在。)一個web容器可以運行多個web應(yīng)用程序,每個web應(yīng)用程序都有一個唯一的上下文根,用戶通過web應(yīng)用程序的

15、上下文根來訪問web應(yīng)用程序中的資源。 上下文根上下文根的確定是與具體的具體的web容器容器、如何部署如何部署web應(yīng)用程序應(yīng)用程序相關(guān)。4.3.2 web module 的目錄結(jié)構(gòu):figure 43 webmodule structureweb應(yīng)用系統(tǒng)的根目錄)web-inf (5)lib:服務(wù)器端類引用的類庫(jar)說明:(1)web module 如果沒有包含servlets, filter, or listener components ,那就不需要web應(yīng)用系統(tǒng)部署文件。(只有jsp 、images、html等文件)(1)web.xml: web應(yīng)用系統(tǒng)的部署文件 配置servl

16、et的映射路徑等(2)tag library descriptor files :標(biāo)記庫描述文件(3)classes:服務(wù)器端類(servlets, utility classes, and javabeans components)(4) tags:標(biāo)記文件(標(biāo)記庫的實現(xiàn))目錄(2)在web容器運行時,web應(yīng)用程序的類加載器將首先加載classes目錄下的,其次才是lib目錄下的類。如有同名類,起作用的是classes目錄下的類。() web-inf目錄并不屬于web應(yīng)用程序可以訪問的上下文路徑的一部分,對客戶端來說,這個目錄是不可見的。 例如:在客戶端,無法訪問在web-inf中的ind

17、ex.htm http:/localhost:8080/library/web-inf/index.htm但web-inf目錄下的內(nèi)容 對于servlet 是 可見的。4.4 web application life cycle6)通過url訪問web應(yīng)用系統(tǒng) 創(chuàng)建、部署、執(zhí)行web application 過程:1)編碼web組件2) 編輯web應(yīng)用系統(tǒng)部署文件(web.xml)3) 編譯web組件及其它引用類文件。4)打包web應(yīng)用系統(tǒng)成為一個可部署單元(deployable unit)(可選)5)部署web應(yīng)用系統(tǒng)到web container4.5.1 web module 的部署:任何

18、符合servlet規(guī)范的web容器中。1)部署應(yīng)用系統(tǒng)的整個目錄結(jié)構(gòu) 2)部署應(yīng)用系統(tǒng)的打包文件(war)(1) packaging web modules jar命令(2) deploying a war file copy 部署工具4.5 web module 的部署4.6 case: library web application 系統(tǒng)的根目錄存放web部署文件及系統(tǒng)配置文件,由這些部署文件及配置文件產(chǎn)生應(yīng)用系統(tǒng)的部署文件ear web應(yīng)用程序的根目錄(web應(yīng)用程序 的上下文根context)系統(tǒng)配置文件application.xml的目錄(名字固定)測試web組件的客戶端程序(運行在命令行方式)4.6.1 應(yīng)用系統(tǒng)目錄結(jié)構(gòu) (針

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論