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

正文內(nèi)容

20xxjsp技術(shù)外文文獻(xiàn)-資料下載頁

2025-01-16 23:10本頁面
  

【正文】 0。APIwasstandardized.Mostservletcontainerssupportthisconventiontoday,eventhoughit'snotformallydefinedintheservletspecification. 中文翻譯 JSP技術(shù)和Servlets JSP簡介 JSP(JavaServerPages)是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。用JSP開發(fā)的Web應(yīng)用是跨平臺的,即能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。
JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計(jì)和顯示分離,支持可重用的基于組 件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。
Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請求時,首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫、重新定向網(wǎng)頁等,以實(shí)現(xiàn)建立動態(tài)網(wǎng)頁所需要的功能。JSP與JavaServlet一樣,是在服務(wù)器端進(jìn)行執(zhí)行的,通常返回該客戶端的就是一個HTML文本,因此客戶端只要有瀏覽器就能瀏覽。
。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。
JS腳本語言簡介 JS即javascrip,Javascript是一種由Netscape的LiveScript發(fā)展而來的腳本語言,主要目的是為了解決服務(wù)器終端語言,比如Perl,遺留的速度問題。當(dāng)時服務(wù)端需要對數(shù)據(jù)進(jìn)行驗(yàn)證,由于網(wǎng)絡(luò)速度相當(dāng)緩慢,,驗(yàn)證步驟浪費(fèi)的時間太多。于是Netscape的瀏覽器Navigator加入了Javascript,提供了數(shù)據(jù)驗(yàn)證的基本功能。 JavaScript的正式名稱是“ECMAScript“。這個標(biāo)準(zhǔn)由ECMA組織發(fā)展和維護(hù)。ECMA262是正式的JavaScript標(biāo)準(zhǔn)。這個標(biāo)準(zhǔn)基于JavaScript和 JScript。Netscape(Navigator)的BrendanEich發(fā)明了這門語言,從1996年開始,已經(jīng)出現(xiàn)在所有的Netscape和Microsoft瀏覽器中。ECMA262的開發(fā)始于1996年,在1997年7月,ECMA會員大會采納了它的首個版本。
腳本script是使用一種特定的描述性語言,依據(jù)一定的格式編寫的可執(zhí)行文件,又稱作宏或批處理文件。腳本通??梢杂蓱?yīng)用程序臨時調(diào)用并執(zhí)行。各類腳本目前被廣泛地應(yīng)用于網(wǎng)頁設(shè)計(jì)中,因?yàn)槟_本不僅可以減小網(wǎng)頁的規(guī)模和提高網(wǎng)頁瀏覽速度,而且可以豐富網(wǎng)頁的表現(xiàn),如動畫、聲音等。舉個最常見的例子,當(dāng)我們點(diǎn)擊網(wǎng)頁上的E-mail地址時能自動調(diào)用OutlookExpress或Foxmail這類郵件軟件,就是通過腳本功能來實(shí)現(xiàn)的。也正因?yàn)槟_本的這些特點(diǎn),往往被一些別有用心的人所利用。例如在腳本中加入一些破壞計(jì)算機(jī)系統(tǒng)的命令,這樣當(dāng)用戶瀏覽網(wǎng)頁時,一旦調(diào)用這類腳本,便會使用戶的系統(tǒng)受到攻擊。所以用戶應(yīng)根據(jù)對所訪問網(wǎng)頁的信任程度選擇安全等級,特別是對于那些本身內(nèi)容就非法的網(wǎng)頁,更不要輕易允許使用腳本。通過“安全設(shè)置”對話框,選擇“腳本”選項(xiàng)下的各種設(shè)置就可以輕松實(shí)現(xiàn)對腳本的禁用和啟用。
Servlet和JSP Servlet和JSP技術(shù)是用Java開發(fā)服務(wù)器端應(yīng)用的主要技術(shù),是開發(fā)商務(wù)應(yīng)用表示端的標(biāo)準(zhǔn)。Java開發(fā)者喜歡使用它有多種原因,其一是對于已經(jīng)熟悉Java語言的開發(fā)者來說這個技術(shù)容易學(xué)習(xí);其二是Java把“一次編寫,到處運(yùn)行”的理念帶入到Web應(yīng)用中,實(shí)現(xiàn)了“一次編寫,到處實(shí)現(xiàn)”。而且更為重要的是,如果遵循一些良好的設(shè)計(jì)原則的話,就可以把表示和內(nèi)容相分離,創(chuàng)造出高質(zhì)量的、可以復(fù)用的、易于維護(hù)和修改的應(yīng)用程序。比方說,在HTML文檔中如果嵌入過多的Java代碼(scriptlet),就會導(dǎo)致開發(fā)出來的應(yīng)用非常復(fù)雜、難以閱讀、不容易復(fù)用,而且對以后的維護(hù)和修改也會造成困難。事實(shí)上,在CSDN的JSP/Servlet論壇中,經(jīng)??梢钥吹揭恍┨釂?,代碼很長,可以邏輯卻不是很清晰,大量的HTML和Java代碼混雜在一起,讓人看得一頭霧水。這就是隨意開發(fā)的弊端。
早期的動態(tài)網(wǎng)頁主要采用CGI(CommonGatewayInterface,公共網(wǎng)關(guān)接口)技術(shù),你可以使用不同的語言編寫CGI程序,如VB、C/C++或Delphi等。雖然CGI技術(shù)發(fā)展成熟且功能強(qiáng)大,但由于編程困難、效率低下、修改復(fù)雜等缺點(diǎn),所以有逐漸被取代的趨勢。在所有的新技術(shù)中,JSP/Servlet具備更高效、更容易編程、功能更強(qiáng)、更安全和具有良好的可移植性,因而被許多人認(rèn)為是未來最有發(fā)展前途的動態(tài)網(wǎng)站技術(shù)。 與CGI相似,Servlet支持請求/響應(yīng)模型。當(dāng)一個客戶向服務(wù)器遞交一個請求時,服務(wù)器把請求送給Servlet,Servlet負(fù)責(zé)處理請求并生成響應(yīng),然后送給服務(wù)器,再由服務(wù)器發(fā)送給客戶。與CGI不同的是,Servlet沒有生成新的進(jìn)程,而是與HTTPServer處于同一進(jìn)程中。它通過使用線程技術(shù),減小了服務(wù)器的開銷。Servlet處理請求的過程是這樣的:當(dāng)收到來自客戶端的請求后,調(diào)用service方法,該方法中Servlet先判斷到來的請求是什么類型的(GET/POST/HEAD?),然后調(diào)用相應(yīng)的處理方法(doGet/doPost/doHead?)并生成響應(yīng)。 別看這么復(fù)雜,其實(shí)簡單說來Servlet就是一個Java類。與一般類的不同之處是,這個類運(yùn)行在一個Servlet容器內(nèi),可以提供session管理和對象生命周期管理。因而當(dāng)你使用Servlet的時候,你可以得到Java平臺的所有好處,包括安全性管理、使用JDBC訪問數(shù)據(jù)庫以及跨平臺的能力。而且,Servlet使用線程,因而可以開發(fā)出效率更高的Web應(yīng)用。
JSP技術(shù)是J2EE的一個關(guān)鍵技術(shù),它在更高一級的層次上抽象Servlet。它可以讓常規(guī)靜態(tài)HTML與動態(tài)產(chǎn)生的內(nèi)容相結(jié)合,看起來像一個HTML網(wǎng)頁,卻作為Servlet來運(yùn)行?,F(xiàn)在有許多商業(yè)應(yīng)用服務(wù)器支持JSP技術(shù),比如BEAWebLogic、IBMWebSphere、JRun等等。使用JSP比用Servlet更簡單。如果你有一個支持JSP的Web服務(wù)器,并且有一個JSP文件,你可以把它放倒任何靜態(tài)HTML文件可以放置的位置,不用編譯,不用打包,也不用進(jìn)行ClassPath的設(shè)置,就可以像訪問普通網(wǎng)頁那樣訪問它,服務(wù)器會自動幫你做好其他的工作。 JSP文件看起來就像一個普通靜態(tài)HTML文件,只不過里面包含了一些Java代碼。,用來告訴服務(wù)器這個文件需要特殊的處理。當(dāng)我們訪問一個JSP頁面的時候,這個文件首先會被JSP引擎翻譯為一個Java源文件,其實(shí)就是一個Servlet,并進(jìn)行編譯,然后像其他Servlet一樣,由Servlet引擎來處理。Servlet引擎裝載這個類,處理來自客戶的請求,并把結(jié)果返回給客戶。
以后再有客戶訪問這個頁面的時候,只要該文件沒有發(fā)生過更改,JSP引擎就直接調(diào)用已經(jīng)裝載的Servlet。如果已經(jīng)做過修改的話,那就會再次執(zhí)行以上過程,翻譯、編譯并裝載。其實(shí)這就是所謂的“第一人懲罰”。因?yàn)槭状卧L問的時候要執(zhí)行一系列以上的過程,所以會耗費(fèi)一些時間;以后的訪問就不會這樣了。 Javaservlet提供了一種強(qiáng)有力的API,用這個API可以訪問關(guān)于請求、會話和應(yīng)用程序的所有信息。將servlet和JSP頁面組合起來使用,可以把應(yīng)用程序的邏輯部分和外觀呈現(xiàn)部分清楚地分開;換句話,利用這個方式可以對模型、視圖和控制器這三種角色分別使用最合適的組件類型。
Servlet、過濾器和監(jiān)聽器 Servlet是一種Java類,它使得服務(wù)器的功能可擴(kuò)展至處理請求和生成應(yīng)答。它是用ServletAPI定義的類和接口實(shí)現(xiàn)的。API由兩個程序包組成:。 ,實(shí)現(xiàn)是直接完成或通過擴(kuò)展某個支持類來完成的。該接口定義了Web容器用來管理servlet和與之交互的方法。該類實(shí)現(xiàn)了Servlet接口,并提供了使用HTTP處理的附加方法。
Servlet的生命周期 Web容器管理servlet生命周期的所有方面。它根據(jù)需要創(chuàng)建servlet類的實(shí)例、將請求傳遞給實(shí)例進(jìn)行處理,最終刪除實(shí)例。對于HttpServlet來說,容器會在servlet生命周期的適當(dāng)時間調(diào)用方法。 除了doGet()和doPost()方法之外,還有一些對應(yīng)于其他HTTP方法的方法:doDelete()、doHead()、doOptiongs()、doPut()和doTrace()。一般情況下不用實(shí)現(xiàn)這些方法,因?yàn)镠ttpServlet類已經(jīng)用適用于大多數(shù)servlet的方法考慮到了HEAD、OPTIONS和TRACE請求,而且DELETE和PUT這兩種HTTP方法很少用在Web應(yīng)用程序中。
容器只為每個Servlet創(chuàng)建一個實(shí)例非常重要。這意味著servlet必須是線程安全的—即,能夠同時處理多個請求,每個處理都通過servlet代碼作為單獨(dú)的線程來執(zhí)行。如果只在init()和destroy()方法中修改參考的對象,而且只在請求處理方法中讀取他們,那么不用喪失任何細(xì)節(jié)就可以滿足關(guān)于實(shí)例變量的這個要求。
編譯和安裝servlet 要編譯servlet,必須首先確保JAR文件包含著CLASSPATH環(huán)境變量中所有ServletAPI類。該JAR文件將隨所有的Web容器一起發(fā)布。,位于mon/lib目錄中。在Windows平臺中,應(yīng)在CLASSPATH中包含JAR文件。 讀取請求 傳遞到doGet()和doPost()方法的參數(shù)之一是實(shí)現(xiàn)了HttpServletRequest接口的對象。該接口定義的方法可提供對關(guān)于請求的許多信息的訪問。
生成應(yīng)答 除應(yīng)答對象之外,容器還將實(shí)現(xiàn)HttpServletRequest接口的對象作為icanshu傳遞給doGet()和doPost()方法。該接口定義了為應(yīng)答行為體獲取數(shù)序程序或流的方法。它還定義了設(shè)置應(yīng)答狀態(tài)代碼和首部的方法。 使用過濾器和監(jiān)聽器 Servlet規(guī)范servlet內(nèi)定義了兩種組件類型:過濾器和監(jiān)聽器。這兩種類型是在Servlet,因此,如果你使用的是不支持該版本規(guī)范的容器,恐怕就不能繼續(xù)學(xué)習(xí)了。 過濾器 過濾器是一種組件,可以解釋對servlet、JSP頁面或靜態(tài)頁面的請求以及發(fā)送給客戶端之前的應(yīng)答。這樣可以很容易地將應(yīng)用于所有請求的任務(wù)集中在一起,例如訪問控制、登錄和內(nèi)容的開銷或應(yīng)用提供的服務(wù)等。過濾器對請求與應(yīng)答的行為體和首部具有完全訪問權(quán)限,因此還可以執(zhí)行各種轉(zhuǎn)換。例如,如果AcceptLanguage請求首部指出客戶端可以處理壓縮的應(yīng)答,那么過濾器就可以壓縮應(yīng)答的行為體。 過濾器可以應(yīng)用在特定servlet上,或匹配某種URL模式的所有請求上,例如以相同的路徑元素開頭或具有相同擴(kuò)展名的URL。
監(jiān)聽器 監(jiān)聽器允許應(yīng)用程序?qū)μ囟ㄊ录龀龌貞?yīng)。Servlet,只能處理會話屬性綁定事件(在添加對象或從會話中刪除對象時)。實(shí)現(xiàn)監(jiān)聽器的方式是用保存為會話屬性(()方法)的對象實(shí)現(xiàn)HttpSessionBindingListener接口。,可以為servlet環(huán)境和會話生命周期事件以及激活和鈍化事件(容器用來暫時將會話狀態(tài)保存在磁盤上或?qū)捯浦驳搅硪粋€服務(wù)器上)創(chuàng)建監(jiān)聽器。使用新的會話屬性事件監(jiān)聽器還可以在一個位置上處理所有會話的屬性綁定事件,而不是在每個會話中防止單獨(dú)的監(jiān)聽器對象。 新類型的監(jiān)聽器遵循的是標(biāo)準(zhǔn)Java事件模型。換句話說,監(jiān)聽器是實(shí)現(xiàn)了一個或多個監(jiān)聽器接口的類。接口定義的是事件相應(yīng)的方法。當(dāng)應(yīng)用程序啟動是,容易會注冊監(jiān)聽器類,然后該容器會在合適的事件調(diào)用那些事件方法。
使用監(jiān)聽器初始化共享資源 Bean一般都有需要在使用之前進(jìn)行初始化。例如,它們可能需要對數(shù)據(jù)庫或某些其他外部數(shù)據(jù)源的引用,還可能在內(nèi)存中創(chuàng)建一個初始消息緩存,以便即使是第一個請求數(shù)據(jù)也可以提供更快的訪問??梢栽谛枰蚕碣Y源的servlet和JSP頁面中包含初始化共享資源的代碼,但是更標(biāo)準(zhǔn)的方法是在一個位置放置所有這些代碼,并在假設(shè)資源已經(jīng)初始化和可用的情況下,使應(yīng)用程序的其他部分可以正常工作。應(yīng)用程序生命周期監(jiān)聽器是此類資源初始化的絕好工具。,當(dāng)應(yīng)用程序啟動和關(guān)閉時會由容器調(diào)用該接口的方法。 為每個任務(wù)選擇正確的組件類型 在之前介紹的項(xiàng)目公告牌應(yīng)用程序是相當(dāng)復(fù)雜的應(yīng)用程序。頁面的一般都是純粹的控制器和商務(wù)邏輯處理,它訪問數(shù)據(jù)庫以對用戶進(jìn)行身份驗(yàn)證,而且多數(shù)頁面都需要訪問控制。在現(xiàn)實(shí)生活中,它可能會包含更多的頁面,例如,用于訪問共享文檔檔案、事件表的頁面和用于管理的一組頁面等。由于應(yīng)用程序在不斷地發(fā)展變化,因此可能變得很難作為純JSP應(yīng)用程序來維護(hù)。例如,很容易忘記在新頁面中包含訪問控制代碼。 很明顯,這種應(yīng)用程序可以從使用JSP頁面與組件類型的組合中受益,其中組件類型由用于MVC角色的servlet規(guī)范所定義。下面看一下主要的要求,并了解如何將他們映射到適當(dāng)?shù)慕M件類型上: (1) 數(shù)據(jù)庫訪問應(yīng)該是抽象的,從而避免連接應(yīng)用程序中多個部分的特定數(shù)據(jù)模式或數(shù)據(jù)庫引擎:模型角色中的bean可以用來完成這種認(rèn)知。
(2) 數(shù)據(jù)庫訪問bean必須在應(yīng)用程序啟動時可用于所有其他的部分:應(yīng)用程序生命周期時間監(jiān)聽器是用了該任務(wù)的完美的組件類型。
(3) 只有通過驗(yàn)證的用戶才允許使用應(yīng)用程序:過濾器可以完成訪問控制以滿足該要求。
(4) 用Java代碼進(jìn)行請求處理效果最佳:servlet作為控制器正符合需要。
(5) 必須很容易改編外觀呈現(xiàn):這正是JSP的反光點(diǎn),也就是作為視圖。
將servlet、監(jiān)聽器和過濾器混合起來,就將JSP頁面對復(fù)雜邏輯的需求降到了最低。將這些代碼放置到Java類中后,就可以使用普通的Java編譯程序和調(diào)試程序來修復(fù)潛在的問題。
使用servlet集中處理請求 將servlet作為所有應(yīng)用程序請求的公共入口時,可以獲得對應(yīng)用程序頁面流的整體控制。Servlet可以根據(jù)所請求行為的結(jié)果來決定要生成的應(yīng)答類型,例如,為所有失敗的請求返回公共的錯誤頁面,或者根據(jù)發(fā)出請求的客戶端返回不同的應(yīng)答等。在某些使用程序類的幫助下,servlet還可以提供諸如輸入驗(yàn)證、J18N準(zhǔn)備之類的服務(wù),而且通常會鼓勵使用更有效率的方法來請求處理。
將應(yīng)用程序請求映射到servlet 使用控制器servlet的第一個要求是所有請求必須都經(jīng)過該servlet。該要求可以通過多種方式來滿足。如果你以前曾經(jīng)使用過servlet,那么你可能習(xí)慣于用以/myApp/servlet開頭的URI來調(diào)用servlet。這是由Sun公司的JavaWebServer(JWS)所引入的一個約定,JWS是在推出標(biāo)準(zhǔn)API之前第一個支持servlet的產(chǎn)品。今天,大部分servlet容器都支持這個約定,即使servlet規(guī)范中并沒有正式的定義。此資料由網(wǎng)絡(luò)收集而來,如有侵權(quán)請告知上傳者立即刪除。資料共分享,我們負(fù)責(zé)傳遞知識。
點(diǎn)擊復(fù)制文檔內(nèi)容
范文總結(jié)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1