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

正文內容

jsp技術概述與應用框架外文翻譯-jsp程序-文庫吧

2024-12-30 06:39 本頁面


【正文】 會理解它,但是在你被融入之前又將花費多長時間呢?如果要購買, 你必須得克服學習曲線,同樣,在你可以用它進行工作之前又得花多長時間?這里沒有所謂正確答案,但許多觀察者都會同意,象 Struts 這樣的框架能提供比從頭開始開發(fā)更顯著的投資回報,特別是對于大型項目來說。 5. 其它類型的框架: 框架的概念不僅用于應用程序也可用于組件。在其它的資料里面,我們也介紹了一些可以和 Struts 一起使用的框架。這些包括 Lucene 搜索引擎, Scaffold 工具包, Struts驗證器,以及 Tiles 標簽庫。與應用框架一樣,這些工具也提供了一些半完成的版本,可以用在用戶的定制組件之中。某些框 架被限制于專門的開發(fā)環(huán)境中。 Struts 以及本文中涉及的組件卻不是這樣。你可以在很多環(huán)境中來開發(fā) Struts: Visual Age for Java, JBuilder, Eclipse, Emacs, 甚至使用 Textpad。對于你的工具,如果你可以用來開發(fā) Java, 你就可以用它來開發(fā) Struts。 6. 使用的技術: 使用 Struts 的應用開發(fā)使用了大量的其他基礎技術。這些技術并不是專門針對Struts,而是所有 Java web 應用都可以使用的。開發(fā)者使用 Struts 之類的框架是為了隱藏在諸如 HTTP, CGI,以及 JSP 之類技術后面的繁瑣的細節(jié)。作為一個 Struts 開發(fā)者,你并不需要知曉所有的相關知識,但是這些基本技術的工作原理可能有助于你針對棘手問題設計出創(chuàng)造性的方案。 超文本傳輸協(xié)議 (HTTP): 當兩個國家之間進行調解時,外交官們總是遵循一定的正式協(xié)議。外交協(xié)議主要設計來避免誤解,以及防止談判破裂。同樣,當計算機間需要對話,它們也遵循一個正式的協(xié)議。這個協(xié)議定義數(shù)據(jù)是如何傳輸,以及它們到達后如何進行解碼。 Web 應用程序就是使用 HTTP 協(xié)議在運行瀏覽器的計算機和運行的服務器的程序間傳輸數(shù)據(jù)。 很多服務器應用程序使用 HTTP 之外的其他協(xié)議。他們在計算機之間維護一個持久性的連接。應用服務器可以清楚的知道是誰連接上來,而且何時中斷連接。因為它們知道每一個連接的狀態(tài),以及每一個使用它的人。這稱之為狀態(tài)協(xié)議。 相反, HTTP 是一個無狀態(tài)協(xié)議。 HTTP Server 可以接受來自于各種客戶的各種請求,并提供各種響應,即使是這個響應僅僅是說 No。沒有大量的協(xié)商和連接持久性,無狀態(tài)協(xié)議可以處理大量的請求。這也是 Inter 可以擴展到很多計算機的原因。 HTTP 成為通用標準的原因是其簡單性。 HTTP 請求 看起來就像一個平常的文本文檔。這使應用程序很容易創(chuàng)建 HTTP 請求。你甚至可以通過標準的程序如 Tel 來手動畢業(yè)設計外文翻譯 6 傳遞一個 HTTP 請求。當 HTTP 響應返回時,它也是一個開發(fā)者可以直接閱讀的平面文本。 HTTP 請求的第一行包含方法,其后是請求的來源地址和 HTTP 版本。 HTTP 請求頭跟在首行后面,可以沒有也可以有多個。 HTTP 頭向服務器提供額外的信息??梢园g覽器的種類和版本,可接受的文檔類型,瀏覽器的 cookies 等等。 7 種請求方法中, GET 和 POST 是用得最多的。 一旦服務器接收到請求,它就要產生一個 HTTP 響應。響應的第一行稱為狀態(tài)行,包含了 HTTP 協(xié)議的版本,數(shù)字型狀態(tài),以及狀態(tài)的簡短描述。狀態(tài)行后,服務器將返回一個 HTTP 響應頭,類似于 HTTP 請求頭。如上所述, HTTP 并不在請求間保持狀態(tài)信息。服務器接受請求,發(fā)出響應,并且繼續(xù)愉快地處理文本請求。 因為簡單和效率,無狀態(tài)協(xié)議不適合于需要跟蹤用戶狀態(tài)的動態(tài)應用。 Cookies 和 URL 重寫是兩個在請求間跟蹤用戶狀態(tài)的方式。 cookie 是一種特殊的信息包,存儲于用戶的計算機中。 URL重寫是在頁面地址中存儲一個特殊的標記, Java 服務器可以用它來跟蹤用戶 。這兩種方法都不是無縫的,是用哪一個都意味著在開發(fā)時都要進行額外的工作。對其本身來說,標準的 HTTP web 服務器并不傳輸動態(tài)內容。它主要是使用請求來定位文件資源,并在響應中返回此資源。通常這里的文件使用 Hypertext Markup Language (HTML) [W3C,HTML] 格式化,以使瀏覽器可以顯示它們。 HTML 頁面通常包含一些到其他頁面的超文本連接,也可以顯示其他一些內容比如圖像和視頻等等。用戶點擊連接將產生另一個請求,就開始一個新的處理過程。標準 web 服務器處理靜態(tài)內容處理得很好,但處 理動態(tài)內容時則需要額外的幫助手段了。 定義: 靜態(tài)內容直接來自于文本或數(shù)據(jù)文件,比如 HTML或者 JPEG 文件。這些文件可以隨時改變,但通過瀏覽器請求時,卻不能自動改變。相反,動態(tài)內容是臨時產生的,典型地,它是針對瀏覽器的個別請求的響應。 7. 公共網(wǎng)關接口 (CGI): 第一個普遍用來產生動態(tài)內容的標準是通用網(wǎng)關接口( Common Gateway Interface (CGI))。 CGI 使用標準的操作系統(tǒng)特征,比如環(huán)境變量和標準輸入輸出,在 Web 服務器間以及和主機系統(tǒng)間創(chuàng)建橋接和網(wǎng)關。其他程序可以看到 web server 傳遞過來的請求,并創(chuàng)建一個定制的響應。當 web 服務器接收到一個對 CGI 程序的請求時,它便運行這個程序并向其提供它請求里面所包含的信息。 CGI 程序運行,并將輸出返回給 Web server, web server 則將輸出響應給瀏覽器。 CGI 定義了一套關于什么信息將作為環(huán)境變量傳遞,以及它希望怎樣使用標準輸入和輸出的慣例。與 HTTP 一樣, CGI 是靈活和易于實現(xiàn)的,并且已經有大量現(xiàn)成的 CGI 程序。 CGI 的主要缺點是它必須為每個請求運行一個程序。這是一個相對昂貴的處理方法,對大容量站點來說,每分鐘有 數(shù)千個請求,有可能使站點癱瘓。 CGI 程序的另一個缺點是平臺依賴性,一個平臺上開發(fā)的程序不一定在另一個平臺上能運行。 畢業(yè)設計外文翻譯 7 Java servlet: Sun公司的 Java Servlet 平臺直接解決了 CGI 程序的兩個主要缺點: 首先, servlet 比常規(guī) CGI 程序提供更好的性能和資源利用。其次,一次編寫,隨處運行的 JAVA 特性意味著 servlet 在有 JVM 的操作系統(tǒng)間是輕便的可移動的。 Servlet看起來好像是一個微小的 web server。它接受請求并產生響應。但,和常規(guī) web server不同, servlet API 是專門設計來幫助 Java 開發(fā)人員創(chuàng)建動態(tài)應用的。 Servlet 本身是要編譯成字節(jié)碼的 Java 類,就像其他 Java 對象一樣。 Servlet 訪問HTTP 特定服務的 API,但它仍然是一個運行于程序之中的 Java 對象,并可以利用所有的 Java 資產。為了使常規(guī) web servers 能訪問 servlet, servlet 被安插在一個容器之中。Servlet 容器連接到 Web 服務器。每 servlet 都可以聲明它可以處理何種樣式的 URL。當符合所注冊樣式的請求到達, web server 將請求傳遞給 容器,容器則調用響應的 servlet。但和 CGI 程序不同,并不是針對每個請求都要創(chuàng)建一個新的 servlet。一旦容器實例化了一個 servlet,它就僅為每個新的請求創(chuàng)建一個新的線程。 Java 線程可比使用 CGI 程序的服務器處理開銷小多了。 一旦 servlet 被創(chuàng)建,使用它處理額外的請求僅帶來很小的額外開銷。 Servlet 開發(fā)人員可以使用 init() 方法保持對昂貴資源的引用,比如到數(shù)據(jù)庫或者 EJB Home 接口的連接 ,以便它們可以在不同的請求之間進行共享。獲得這些資源要耗費數(shù)秒時間,這比大多數(shù)沖浪者愿意等的 時間要長些。 Servlet 的另一個好處是,它是多線程的, servlet 開發(fā)人員必須特別注意確保它們的servlet 是線程安全的。學習 servlet 編程,我們推薦 Java Servlets by Example, 作者 Alan R. Williamson[Williamson]。 JavaServer Pages: 雖然 servlets 對 CGI 程序來說前進了一大步,但它也不是萬能靈藥。為了產生響應,開發(fā)人員不得不使用大量的 println語句來生成 HTML。比如這樣的代碼: (POne line of HTML./P)。 (PAnother line of HTML./P)。 在產生 HTTP 響應的 Servlet 中是很普遍的。也有一些庫有助于你產生 HTML。隨著應用越來越復雜, Java 開發(fā)人員將不再扮演 HTML 頁面設計的角色。同時,大多數(shù)項目經理更喜歡將團隊分成不同的小組。 它們喜歡 HTML設計人員處理表現(xiàn)層的工作,而 Java 工程師則專注于業(yè)務邏輯。單獨使用 servlet 的做法鼓勵混合標記和業(yè)務邏輯,很難區(qū)分團隊人員的專業(yè)工作。 為解決這個問 題, Sun提出了一個將腳本和模板技術結合到一個組件中的服務器頁面技術( JavaServer Pages)。為創(chuàng)建 JSP 頁面 , 開發(fā)者按創(chuàng)建 HTML 頁面類似的方式創(chuàng)建頁面,使用相同的 HTML 語法。為將動態(tài)內容引入頁面,開發(fā)人員可以將腳本元素置入頁面之中。腳本元素是一些標記,封裝了可以被 JSP 識別的邏輯。你可以在 JSP 頁畢業(yè)設計外文翻譯 8 面中很容易的識別出腳本元素,他們被封裝在一對 % 和 %標記中。 為了識別 JSP 頁面,文件需要保存為擴展名 .jsp。當一個客戶請求 JSP 頁面時,容器將頁面翻譯成 Java servlet 源代 碼文件,并將它編譯成 Java 類文件 —— 就象你寫的servlet 文件一樣。在運行時,容器也能檢測 JSP 文件和相應的類的最后更新時間。如果,JSP 文件自上次編譯以來被修改了,容器將重新翻譯和編譯 JSP 文件。項目經理現(xiàn)在可以將表現(xiàn)層分派給 HTML 開發(fā)人員,將業(yè)務邏輯工作分派給 JAVA 開發(fā)人員。重要的是記住, JSP 頁面事實上是一個 servlet。你可以在 servlet 做的,也可以在 JSP 中做。 JavaBean: JavaBean 是一種 Java 類,它遵從一定的設計模式,使它們易于和其他開發(fā)工具和組件一起使用 。 定義 JavaBean 是一種 JAVA 語言寫成的可重用組件。要編寫 JavaBean,類必須是具體類和公共類,并且具有無參數(shù)的構造器( NONARGS CONSTRUCTOR)。 JavaBean通過提供符合一致性設計模式的公共訪問方法將內部字段暴露稱為屬性。眾所周知,屬性名稱也符合這種模式,其他 JAVA 類可以通過自省機制發(fā)現(xiàn)和操作這些 JavaBean 屬性。 我們必須做的如下: 1 . 編 寫 一 個 類 , 通 過 實 現(xiàn) doStart() 或者 doEnd() 方 法 來 實 現(xiàn) 或者 接口。這些方法獲得一個 JspWriter 對象,你可以用它來輸出你需要的 HTML內容。 2.創(chuàng)建一個標簽庫描述文件 (TLD)來將你的新建的類,映射到一個標簽名稱。 3.在你的 Web 應用描述符 ()中定義你的 taglib 元素。通過在 JSP 頁面的頂部放置下面的語句: %@tagliburi=/tags/ prefix=app %來告訴 JSP 頁面你將使用你自己的標簽庫。 4.這個語句導入將在本頁中使用的標簽庫,并分配給它一個前綴。關于更多細節(jié),請參考 JSP 標簽庫技術頁面。 JavaBean 設計模式提供兩種類型的方式來訪問 bean 的內部狀態(tài):訪問器( accessor) 用來讀 JavaBean的狀態(tài),修改器( mutator )用來改變 JavaBean 的狀態(tài)。 Mutator 通常以小寫的 set 前綴開始,后跟屬性名。屬性名的第一個字母必須大寫。返回值通常是 void,因為 mutator 僅僅改變屬性的值,而不返回它們。簡單屬性的 mutator在其方法體中可能只有一個參數(shù), 該參數(shù)可以是各種類型。 Mutator 也可根據(jù)其前綴稱為設置器 setters 。例如,對 Double 類型的屬性 weight 的 mutator 方法體可能是: public void setWeight(Double weight) 相似的設計模式也用于訪問器方法的創(chuàng)建。 Accessor 通常以小寫的 get 為前綴,后跟屬性名。屬性名的第一個字母必須大寫。返回值必須匹配相應的修改器方法的參數(shù)。簡單屬性的 Accessor 在其方法體中不能接受參數(shù)。同樣,訪問器 accessor 也經常稱為畢業(yè)設計外文翻譯 9 獲取器 getter。 屬性 weight 的訪問器方法體可能是: public Double getWeight() 如果訪問器返回一個邏輯值,這種情況下有個變體模式。不使用小寫的 get,邏輯屬性的訪問器可以使用小寫的 is 前綴,后跟屬性名。屬性名的首字母必須大寫。返回值肯定是邏輯值,不管是 boolean 還是 Boolean。邏輯訪問器在其方法體中不能接受參數(shù)。 On 屬性的邏輯訪問器的方法體可能是: public boolean isOn() 在使用 JavaBean 時,規(guī)范的方法體簽名扮演了極為重要的角色。其他組件可以使用 Java 的反 射 API
點擊復制文檔內容
試題試卷相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1