freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)(論文)外文翻譯李佳霞-資料下載頁(yè)

2025-06-19 18:55本頁(yè)面
  

【正文】 kies等等。7 種請(qǐng)求方法中, GET和 POST是用得最多的。一旦服務(wù)器接收到請(qǐng)求,它就要產(chǎn)生一個(gè)HTTP響應(yīng)。響應(yīng)的第一行稱為狀態(tài)行,包含了HTTP協(xié)議的版本,數(shù)字型狀態(tài),以及狀態(tài)的簡(jiǎn)短描述。狀態(tài)行后,服務(wù)器將返回一個(gè)HTTP響應(yīng)頭,類似于HTTP請(qǐng)求頭。如上所述,HTTP并不在請(qǐng)求間保持狀態(tài)信息。服務(wù)器接受請(qǐng)求,發(fā)出響應(yīng),并且繼續(xù)愉快地處理文本請(qǐng)求。因?yàn)楹?jiǎn)單和效率,無(wú)狀態(tài)協(xié)議不適合于需要跟蹤用戶狀態(tài)的動(dòng)態(tài)應(yīng)用。Cookies和 URL 重寫是兩個(gè)在請(qǐng)求間跟蹤用戶狀態(tài)的方式。cookie是一種特殊的信息包,存儲(chǔ)于用戶的計(jì)算機(jī)中。URL重寫是在頁(yè)面地址中存儲(chǔ)一個(gè)特殊的標(biāo)記,Java服務(wù)器可以用它來(lái)跟蹤用戶。這兩種方法都不是無(wú)縫的,是用哪一個(gè)都意味著在開(kāi)發(fā)時(shí)都要進(jìn)行額外的工作。對(duì)其本身來(lái)說(shuō),標(biāo)準(zhǔn)的HTTP web服務(wù)器并不傳輸動(dòng)態(tài)內(nèi)容。它主要是使用請(qǐng)求來(lái)定位文件資源,并在響應(yīng)中返回此資源。通常這里的文件使用Hypertext Markup Language (HTML) [W3C,HTML] 格式化,以使瀏覽器可以顯示它們。HTML頁(yè)面通常包含一些到其他頁(yè)面的超文本連接,也可以顯示其他一些內(nèi)容比如圖像和視頻等等。用戶點(diǎn)擊連接將產(chǎn)生另一個(gè)請(qǐng)求,就開(kāi)始一個(gè)新的處理過(guò)程。標(biāo)準(zhǔn)web服務(wù)器處理靜態(tài)內(nèi)容處理得很好,但處理動(dòng)態(tài)內(nèi)容時(shí)則需要額外的幫助手段了。定義 靜態(tài)內(nèi)容直接來(lái)自于文本或數(shù)據(jù)文件,比如HTML或者 JPEG文件。這些文件可以隨時(shí)改變,但通過(guò)瀏覽器請(qǐng)求時(shí),卻不能自動(dòng)改變。相反,動(dòng)態(tài)內(nèi)容是臨時(shí)產(chǎn)生的,典型地,它是針對(duì)瀏覽器的個(gè)別請(qǐng)求的響應(yīng)。公共網(wǎng)關(guān)接口(CGI):第一個(gè)普遍用來(lái)產(chǎn)生動(dòng)態(tài)內(nèi)容的標(biāo)準(zhǔn)是通用網(wǎng)關(guān)接口(Common Gateway Interface (CGI))。CGI使用標(biāo)準(zhǔn)的操作系統(tǒng)特征,比如環(huán)境變量和標(biāo)準(zhǔn)輸入輸出,在Web服務(wù)器間以及和主機(jī)系統(tǒng)間創(chuàng)建橋接和網(wǎng)關(guān)。其他程序可以看到web server傳遞過(guò)來(lái)的請(qǐng)求,并創(chuàng)建一個(gè)定制的響應(yīng)。當(dāng)web服務(wù)器接收到一個(gè)對(duì)CGI程序的請(qǐng)求時(shí),它便運(yùn)行這個(gè)程序并向其提供它請(qǐng)求里面所包含的信息。CGI程序運(yùn)行,并將輸出返回給Web server,web server 則將輸出響應(yīng)給瀏覽器。CGI定義了一套關(guān)于什么信息將作為環(huán)境變量傳遞,以及它希望怎樣使用標(biāo)準(zhǔn)輸入和輸出的慣例。與HTTP一樣,CGI是靈活和易于實(shí)現(xiàn)的,并且已經(jīng)有大量現(xiàn)成的CGI程序。CGI的主要缺點(diǎn)是它必須為每個(gè)請(qǐng)求運(yùn)行一個(gè)程序。這是一個(gè)相對(duì)昂貴的處理方法,對(duì)大容量站點(diǎn)來(lái)說(shuō),每分鐘有數(shù)千個(gè)請(qǐng)求,有可能使站點(diǎn)癱瘓。CGI程序的另一個(gè)缺點(diǎn)是平臺(tái)依賴性,一個(gè)平臺(tái)上開(kāi)發(fā)的程序不一定在另一個(gè)平臺(tái)上能運(yùn)行。Java servlet:Sun公司的Java Servlet平臺(tái)直接解決了CGI程序的兩個(gè)主要缺點(diǎn):首先,servlet 比常規(guī)CGI 程序提供更好的性能和資源利用。其次,一次編寫,隨處運(yùn)行的JAVA特性意味著servlet在有JVM 的操作系統(tǒng)間是輕便的可移動(dòng)的。Servlet看起來(lái)好像是一個(gè)微小的web server。它接受請(qǐng)求并產(chǎn)生響應(yīng)。但,和常規(guī)web server不同,servlet API 是專門設(shè)計(jì)來(lái)幫助Java 開(kāi)發(fā)人員創(chuàng)建動(dòng)態(tài)應(yīng)用的。Servlet 本身是要編譯成字節(jié)碼的Java類,就像其他Java對(duì)象一樣。Servlet訪問(wèn)HTTP 特定服務(wù)的API,但它仍然是一個(gè)運(yùn)行于程序之中的Java 對(duì)象,并可以利用所有的Java 資產(chǎn)。為了使常規(guī)web servers能訪問(wèn)servlet,servlet被安插在一個(gè)容器之中。Servlet容器連接到Web服務(wù)器。每servlet 都可以聲明它可以處理何種樣式的URL。當(dāng)符合所注冊(cè)樣式的請(qǐng)求到達(dá),web server將請(qǐng)求傳遞給容器,容器則調(diào)用響應(yīng)的servlet。但和CGI 程序不同,并不是針對(duì)每個(gè)請(qǐng)求都要?jiǎng)?chuàng)建一個(gè)新的servlet。一旦容器實(shí)例化了一個(gè)servlet,它就僅為每個(gè)新的請(qǐng)求創(chuàng)建一個(gè)新的線程。Java線程可比使用CGI程序的服務(wù)器處理開(kāi)銷小多了。一旦servlet被創(chuàng)建,使用它處理額外的請(qǐng)求僅帶來(lái)很小的額外開(kāi)銷。Servlet開(kāi)發(fā)人員可以使用init() 方法保持對(duì)昂貴資源的引用,比如到數(shù)據(jù)庫(kù)或者EJB Home接口的連接,以便它們可以在不同的請(qǐng)求之間進(jìn)行共享。獲得這些資源要耗費(fèi)數(shù)秒時(shí)間,這比大多數(shù)沖浪者愿意等的時(shí)間要長(zhǎng)些。Servlet的另一個(gè)好處是,它是多線程的,servlet開(kāi)發(fā)人員必須特別注意確保它們的servlet是線程安全的。學(xué)習(xí)servlet 編程,我們推薦Java Servlets by Example, 作者Alan R. Williamson[Williamson]。JavaServer Pages:雖然servlets對(duì)CGI程序來(lái)說(shuō)前進(jìn)了一大步,但它也不是萬(wàn)能靈藥。為了產(chǎn)生響應(yīng),開(kāi)發(fā)人員不得不使用大量的println語(yǔ)句來(lái)生成HTML。比如這樣的代碼:(POne line of HTML./P)。(PAnother line of HTML./P)。在產(chǎn)生HTTP響應(yīng)的Servlet 中是很普遍的。也有一些庫(kù)有助于你產(chǎn)生HTML。隨著應(yīng)用越來(lái)越復(fù)雜,Java開(kāi)發(fā)人員將不再扮演HTML頁(yè)面設(shè)計(jì)的角色。同時(shí),大多數(shù)項(xiàng)目經(jīng)理更喜歡將團(tuán)隊(duì)分成不同的小組。 它們喜歡HTML設(shè)計(jì)人員處理表現(xiàn)層的工作,而Java工程師則專注于業(yè)務(wù)邏輯。單獨(dú)使用servlet的做法鼓勵(lì)混合標(biāo)記和業(yè)務(wù)邏輯,很難區(qū)分團(tuán)隊(duì)人員的專業(yè)工作。為解決這個(gè)問(wèn)題,Sun提出了一個(gè)將腳本和模板技術(shù)結(jié)合到一個(gè)組件中的服務(wù)器頁(yè)面技術(shù)(JavaServer Pages)。為創(chuàng)建JSP頁(yè)面, 開(kāi)發(fā)者按創(chuàng)建HTML頁(yè)面類似的方式創(chuàng)建頁(yè)面,使用相同的HTML 語(yǔ)法。為將動(dòng)態(tài)內(nèi)容引入頁(yè)面,開(kāi)發(fā)人員可以將腳本元素置入頁(yè)面之中。腳本元素是一些標(biāo)記,封裝了可以被JSP識(shí)別的邏輯。你可以在JSP頁(yè)面中很容易的識(shí)別出腳本元素,他們被封裝在一對(duì)% 和 %標(biāo)記中。為了識(shí)別JSP頁(yè)面。當(dāng)一個(gè)客戶請(qǐng)求JSP頁(yè)面時(shí),容器將頁(yè)面翻譯成Java servlet 源代碼文件,并將它編譯成Java 類文件——就象你寫的servlet文件一樣。在運(yùn)行時(shí),容器也能檢測(cè)JSP文件和相應(yīng)的類的最后更新時(shí)間。如果,JSP 文件自上次編譯以來(lái)被修改了,容器將重新翻譯和編譯JSP文件。項(xiàng)目經(jīng)理現(xiàn)在可以將表現(xiàn)層分派給HTML 開(kāi)發(fā)人員,將業(yè)務(wù)邏輯工作分派給JAVA開(kāi)發(fā)人員。重要的是記住,JSP頁(yè)面事實(shí)上是一個(gè)servlet。你可以在servlet做的,也可以在JSP中做。JavaBean:JavaBean是一種 Java類,它遵從一定的設(shè)計(jì)模式,使它們易于和其他開(kāi)發(fā)工具和組件一起使用。定義 JavaBean 是一種JAVA 語(yǔ)言寫成的可重用組件。要編寫JavaBean,類必須是具體類和公共類,并且具有無(wú)參數(shù)的構(gòu)造器(NONARGS CONSTRUCTOR)。JavaBean通過(guò)提供符合一致性設(shè)計(jì)模式的公共訪問(wèn)方法將內(nèi)部字段暴露稱為屬性。眾所周知,屬性名稱也符合這種模式,其他JAVA 類可以通過(guò)自省機(jī)制發(fā)現(xiàn)和操作這些JavaBean 屬性。我們必須做的如下:1.編寫一個(gè)類,通過(guò)實(shí)現(xiàn)doStart()或者doEnd() 。這些方法獲得一個(gè)JspWriter對(duì)象,你可以用它來(lái)輸出你需要的HTML內(nèi)容。2.創(chuàng)建一個(gè)標(biāo)簽庫(kù)描述文件(TLD)來(lái)將你的新建的類,映射到一個(gè)標(biāo)簽名稱。3.在你的Web 應(yīng)用描述符()中定義你的taglib 元素。通過(guò)在JSP 頁(yè)面的頂部放置下面的語(yǔ)句:%@tagliburi=/tags/ prefix=app %來(lái)告訴JSP 頁(yè)面你將使用你自己的標(biāo)簽庫(kù)。4.這個(gè)語(yǔ)句導(dǎo)入將在本頁(yè)中使用的標(biāo)簽庫(kù),并分配給它一個(gè)前綴。關(guān)于更多細(xì)節(jié),請(qǐng)參考JSP標(biāo)簽庫(kù)技術(shù)頁(yè)面。JavaBean 設(shè)計(jì)模式提供兩種類型的方式來(lái)訪問(wèn)bean 的內(nèi)部狀態(tài):訪問(wèn)器(accessor) 用來(lái)讀JavaBean的狀態(tài),修改器(mutator )用來(lái)改變 JavaBean 的狀態(tài)。Mutator 通常以小寫的set 前綴開(kāi)始,后跟屬性名。屬性名的第一個(gè)字母必須大寫。返回值通常是void,因?yàn)閙utator 僅僅改變屬性的值,而不返回它們。簡(jiǎn)單屬性的mutator在其方法體中可能只有一個(gè)參數(shù),該參數(shù)可以是各種類型。Mutator也可根據(jù)其前綴稱為設(shè)置器setters 。例如,對(duì)Double 類型的屬性weight 的mutator方法體可能是:public void setWeight(Double weight)相似的設(shè)計(jì)模式也用于訪問(wèn)器方法的創(chuàng)建。Accessor 通常以小寫的get 為前綴,后跟屬性名。屬性名的第一個(gè)字母必須大寫。返回值必須匹配相應(yīng)的修改器方法的參數(shù)。簡(jiǎn)單屬性的Accessor在其方法體中不能接受參數(shù)。同樣,訪問(wèn)器accessor 也經(jīng)常稱為獲取器getter。屬性weight 的訪問(wèn)器方法體可能是:public Double getWeight()如果訪問(wèn)器返回一個(gè)邏輯值,這種情況下有個(gè)變體模式。不使用小寫的 get,邏輯屬性的訪問(wèn)器可以使用小寫的is 前綴,后跟屬性名。屬性名的首字母必須大寫。返回值肯定是邏輯值,不管是 boolean 還是Boolean。邏輯訪問(wèn)器在其方法體中不能接受參數(shù)。On屬性的邏輯訪問(wèn)器的方法體可能是:public boolean isOn()在使用JavaBean 時(shí),規(guī)范的方法體簽名扮演了極為重要的角色。其他組件可以使用Java 的反射API 通過(guò)查找前綴為set、is或者get的方法來(lái)發(fā)現(xiàn)JavaBean的屬性。如果一個(gè)組件在一個(gè)JavaBean 中發(fā)現(xiàn)一個(gè)這樣的方法,它就知道這個(gè)方法可以用來(lái)訪問(wèn)或者改變JavaBean 的屬性。Sun引入JavaBean是為了用于GUI組件,但它們已經(jīng)用在Java開(kāi)發(fā)的各個(gè)方面,包括Web應(yīng)用。Sun的工程師在開(kāi)發(fā)JSP標(biāo)簽的擴(kuò)展類時(shí),也被設(shè)計(jì)來(lái)可以和JavaBean一起工作。一個(gè)頁(yè)面的動(dòng)態(tài)數(shù)據(jù)可以使用一個(gè)JavaBean來(lái)傳遞,并且JSP標(biāo)記可以隨后使用bean的屬性來(lái)定制頁(yè)面的輸出。Model 2:Servlet/ 版描述了在一個(gè)應(yīng)用中使用servlet和JSP的架構(gòu)。在其后的規(guī)范中,Model 2 這個(gè)叫法消失了,但它已經(jīng)在Java web開(kāi)發(fā)人員中非常通用了。根據(jù)Model 2,servlet處理數(shù)據(jù)存取和導(dǎo)航流,JSP處理表現(xiàn)。Model 2使Java工程師和HTML設(shè)計(jì)者分別工作于它們所擅長(zhǎng)和負(fù)責(zé)的部分。Model 2應(yīng)用的一部分發(fā)生改變并不強(qiáng)求其他部分也跟著發(fā)生改變。HTML開(kāi)發(fā)人員可以改變程序的外觀和感覺(jué),并不需要改變后端servlet的工作方式。Struts框架是基于Model 2的架構(gòu)。它提供一個(gè)控制器servlet來(lái)處理導(dǎo)航流和一些特殊類來(lái)幫助數(shù)據(jù)訪問(wèn)。隨框架也提供一個(gè)豐富的標(biāo)簽庫(kù),以使Struts易于和JSP一起使用。小結(jié):在本文中,我們介紹了Struts應(yīng)用框架。并介紹了一些基本知識(shí),關(guān)于HTTP, CGI, Java servlet, JSP,以及JavaBean。我們也說(shuō)明了Model 2應(yīng)用架構(gòu),以及它如何用來(lái)將servlets和JSP 在結(jié)合在同一個(gè)應(yīng)用之中。現(xiàn)在你已經(jīng)有關(guān)于Strtus Web應(yīng)用程序模樣的初步印象,以后我們將更深入的討論Strtuts框架的理論
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1