Java開發(fā)中的關(guān)鍵技術(shù)0001_第1頁
Java開發(fā)中的關(guān)鍵技術(shù)0001_第2頁
Java開發(fā)中的關(guān)鍵技術(shù)0001_第3頁
Java開發(fā)中的關(guān)鍵技術(shù)0001_第4頁
Java開發(fā)中的關(guān)鍵技術(shù)0001_第5頁
已閱讀5頁,還剩1頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1、servlet 技術(shù)Servlet (Server Applet),全稱Java Servlet。是用Java編寫的服務(wù)器端程序。其主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動態(tài)Web內(nèi)容。狹義的Servlet是指Java語言實(shí)現(xiàn)的一個接口,廣義的Servlet是指任何實(shí)現(xiàn)了這個Servlet接口的類。Servlet運(yùn)行于支持Java的應(yīng)用服務(wù)器中。從實(shí)現(xiàn)上講,Servlet可以響應(yīng)任何類型的請求,但絕大多數(shù)情況下Servlet只用來擴(kuò)展基于 HTTP協(xié)議的Web服務(wù)器。Servlet技術(shù)的實(shí)現(xiàn)過程:最早支持servlet技術(shù)的是JavaSoft的Java Web Server,此后,一些其

2、他的基于Java的 Web Server開始支持標(biāo)準(zhǔn)的Servlet API, Servlet的主要功能在于交互式地瀏覽和修改數(shù)據(jù),生成動態(tài)Web內(nèi)容。這個過程為:1)客戶端發(fā)送請求至服務(wù)器2)服務(wù)器將請求發(fā)送至 Servlet;3) Servlet生成響應(yīng)內(nèi)容并將其傳給服務(wù)器,響應(yīng)內(nèi)容動態(tài)生成,通常取決于客戶端的請求;4)服務(wù)器將響應(yīng)返回給客戶端。Servlet的生命周期:.客戶端請求該Servlet;.加載Servlet類到內(nèi)存;.實(shí)例化并調(diào)用init()方法初始化該 Servlet;. Service。根據(jù)請求方法的不同調(diào)用doGet()或doPost()等實(shí)現(xiàn)方法;. Destory(

3、);對于更多的客戶端請求,Server創(chuàng)建新的請求和響應(yīng)對象,仍然激活此Servlet的service。方法,將這兩個對象作為參數(shù)傳遞給它。如此重復(fù)以上的循環(huán),但無需再次調(diào)用init()方法。一般 Servlet只初始化一次(只有一個對象),當(dāng)Server不再需要 Servlet時(一般當(dāng) Server關(guān)閉時),Server調(diào)用Servlet 的destroy。方法。Servlet技術(shù)相比傳統(tǒng)的 CGI技術(shù)或類似CGI技術(shù)的技術(shù)相比,Java Servlet具有更高的效率,更容易 使用,功能更強(qiáng)大,具有更好的可移植性,更節(jié)省投資。方便Servlet提供了大量的實(shí)用工具例程,例如自動地解析和解碼

4、HTML表單數(shù)據(jù)、讀取和設(shè)置HTTP頭、處理Cookie、跟蹤會話狀態(tài)等。功能強(qiáng)大在Servlet中,許多使用傳統(tǒng)CGI程序很難完成的任務(wù)都可以輕松地完成。例如, Servlet能夠直接和Web服務(wù)器交互,而普通的CGI程序不能。Servlet還能夠在各個程序之間共享數(shù)據(jù),使得數(shù)據(jù)庫連接池之類的功能很容易實(shí)現(xiàn)??梢浦残院肧ervlet 用 Java 編寫,Servlet API 具有完善的標(biāo)準(zhǔn)。因此,為 IPlanet Enterprise Server 寫的 Servlet 無需任何實(shí)質(zhì)上的改動即可移植到Apache、MicrosoftIIS或者 WebStar。幾乎所有的主流服務(wù)器都直接或

5、通過插件支持 Servlet o節(jié)省投資不僅有許多廉價甚至免費(fèi)的Web服務(wù)器可供個人或小規(guī)模網(wǎng)站使用,而且對于現(xiàn)有的服務(wù)器,如果它不支持 Servlet的話,要加上這部分功能也往往是免費(fèi)的(或只需要極少的投資)。2、JS啦術(shù)JSP全名為Java Server Pages中文名叫java服務(wù)器頁面,其根本是一個簡化的Servlet設(shè)計,它是由Sun Microsystems公司倡導(dǎo)、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JS限術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML (標(biāo)準(zhǔn)通用標(biāo)記語言的子集)文件 (*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(t

6、ag),從而形成JSP文件,后綴名為(*.jsp)。用JSPFF發(fā)的 Web應(yīng)用是跨平臺 的,既能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。它實(shí)現(xiàn)了 Html語法中的java擴(kuò)展(以 Sybase MS SQL Server和 MS Access等數(shù)據(jù)庫。JSP技術(shù)圖解3、 MVC框架MVC全名是 Model View Controller ,是模型(model)視圖(view)控制器(controller)的縮寫,一種軟件 設(shè)計典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個部件里 面,在改進(jìn)和個性化定制界面及用戶交互的同時,不需要重新編寫業(yè)務(wù)邏輯。MVC被獨(dú)

7、特的發(fā)展起來用于映射傳統(tǒng)的輸入、處理和輸出功能在一個邏輯的圖形化用戶界面的結(jié)構(gòu)中。MVC是一種使用MVC設(shè)計創(chuàng)建的 Web應(yīng)用程序的模式:?Model (模型)表示應(yīng)用程序核心(比如數(shù)據(jù)庫記錄列表)。?View (視圖)顯示數(shù)據(jù)(數(shù)據(jù)庫記錄)。?Controller (控制器)處理輸入(寫入數(shù)據(jù)庫記錄)。MVC模式同時提供了對 HTML、CSS和JavaScript的完全控制。Model (模型)是應(yīng)用程序中用于處理應(yīng)用程序數(shù)據(jù)邏輯的部分。通常模型對象負(fù)責(zé)在數(shù)據(jù)庫中存取數(shù)據(jù)。View (視圖)是應(yīng)用程序中處理數(shù)據(jù)顯示的部分。通常視圖是依據(jù)模型數(shù)據(jù)創(chuàng)建的。Controller (控制器)是應(yīng)用程

8、序中處理用戶交互的部分。通常控制器負(fù)責(zé)從視圖讀取數(shù)據(jù),控制用戶輸入,并向模型發(fā)送數(shù)據(jù)。MVC分層有助于管理復(fù)雜的應(yīng)用程序,因?yàn)槟梢栽谝粋€時間內(nèi)專門關(guān)注一個方面。例如,您可 以在不依賴業(yè)務(wù)邏輯的情況下專注于視圖設(shè)計。同時也讓應(yīng)用程序的測試更加容易。MVC分層同時也簡化了分組開發(fā)。不同的開發(fā)人員可同時開發(fā)視圖、控制器邏輯和業(yè)務(wù)邏輯。MVC框架圖解MVC組件類型的關(guān)系和功能MVC框架的優(yōu)點(diǎn):耦合性低視圖層和業(yè)務(wù)層分離,這樣就允許更改視圖層代碼而不用重新編譯模型和控制器代碼,同樣,一個 應(yīng)用的業(yè)務(wù)流程或者業(yè)務(wù)規(guī)則的改變只需要改動MVC的模型層即可。因?yàn)槟P团c控制器和視圖相分離,所以很容易改變應(yīng)用程序

9、的數(shù)據(jù)層和業(yè)務(wù)規(guī)則。重用性高隨著技術(shù)的不斷進(jìn)步,需要用越來越多的方式來訪問應(yīng)用程序。MVC模式允許使用各種不同樣式的視圖來訪問同一個服務(wù)器端的代碼,因?yàn)槎鄠€視圖能共享一個模型,它包括任何WEB (HTTP)瀏覽器或者無線瀏覽器(wap),比如,用戶可以通過電腦也可通過手機(jī)來訂購某樣產(chǎn)品,雖然訂購的方式不一 樣,但處理訂購產(chǎn)品的方式是一樣的。由于模型返回的數(shù)據(jù)沒有進(jìn)行格式化,所以同樣的構(gòu)件能被不同 的界面使用。例如,很多數(shù)據(jù)可能用HTML來表示,但是也有可能用 WAP來表示,而這些表示所需要的命令是改變視圖層的實(shí)現(xiàn)方式,而控制層和模型層無需做任何改變。由于已經(jīng)將數(shù)據(jù)和業(yè)務(wù)規(guī)則從表 示層分開,所以

10、可以最大化的重用代碼了。模型也有狀態(tài)管理和數(shù)據(jù)持久性處理的功能。生命周期成本低MVC使開發(fā)和維護(hù)用戶接口的技術(shù)含量降低。部署快使用MVC框架使得開發(fā)時間得到相當(dāng)大的減少,它使程序員集中精力于業(yè)務(wù)邏輯,界面程序員集中 精力于表現(xiàn)形式上??删S護(hù)性高分離視圖層和業(yè)務(wù)邏輯層使得 WEB應(yīng)用更易于維護(hù)和修改。有利軟件工程化管理由于不同的層各司其職,每一層不同的應(yīng)用具有某些相同的特征,有利于通過工程化工具化管理程 序代碼。控制器也提供了一個好處,就是可以使用控制器來聯(lián)接不同的模型和視圖去完成用戶的需求, 這樣控制器可以為構(gòu)造應(yīng)用程序提供強(qiáng)有力的手段。給定一些可重用的模型和視圖,控制器可以根據(jù)用 戶的需求選

11、擇模型進(jìn)行處理,然后選擇視圖將處理結(jié)果顯示給用戶。4、Struts 技術(shù)Struts是Apache 基金會Jakarta項目組的一個 Open Source 項目,它采用 MVC模式,能夠很好 地幫助java開發(fā)者利用J2EE開發(fā)Web應(yīng)用。和其他的java架構(gòu)一樣,Struts也是面向?qū)ο笤O(shè)計,將MVC模式分離顯示邏輯和業(yè)務(wù)邏輯的能力發(fā)揮得淋漓盡致。Struts框架的核心是一個彈性的控制層, 基于如 Java Servlets , JavaBeans , ResourceBundles 與 XML 等標(biāo)準(zhǔn)技術(shù),以及 Jakarta Commons 的一些類庫。Struts由一組相互協(xié)作的類(

12、組件)、Servlet以及jsp tag lib組成。基于struts構(gòu)架的web應(yīng)用程序基本上符合 JSP Model2的設(shè)計標(biāo)準(zhǔn),可以說是一個傳統(tǒng)MVC設(shè)計模式的一種變化類型。Struts的流程:服務(wù)器啟動后,根據(jù)加載ActionServlet讀取文件內(nèi)容到內(nèi)存。以登錄為例:第一次進(jìn)會先實(shí)例化Form、把默認(rèn)值(String默認(rèn)為空字符串,整型默認(rèn)為0)賦給表單元素。輸入用戶名密碼提交表單、提交到action屬性的,通過 ActionServlet讀文件找到 action下的path屬性找到.action ,通過name屬 性找form-beans 中的form-bean的name屬性彳#

13、到 ActionForm 的包名類名,先實(shí)例化 form,把表單的 值填充給form ,調(diào)用form的validate方法驗(yàn)證、ActionErrors返回null表示驗(yàn)證通過,否則失敗返回 input指定的頁面.驗(yàn)證通過會實(shí)例化 Action ,執(zhí)行Action的execute方法。Struts的實(shí)現(xiàn)流程|Struts的優(yōu)點(diǎn):Struts跟Tomcat等諸多的Apache項目一樣,是開源軟件,這是它的一大優(yōu)點(diǎn),使開發(fā)者能夠更深 入的了解其內(nèi)部的實(shí)現(xiàn)機(jī)制。除此之外,struts的優(yōu)點(diǎn)主要集中體現(xiàn)在兩個方面 :Taglib和頁面導(dǎo)航。Taglib是Struts的標(biāo)簽庫,靈 活應(yīng)用,能大大提供開發(fā)

14、的效率。另外,就是目前國內(nèi)的JSP開發(fā)者而言,除了使用 JSP自帶的常用標(biāo)簽之外,很少開發(fā)自己的標(biāo)簽,Struts是一個很好的起點(diǎn)。關(guān)于頁面導(dǎo)航,能夠使系統(tǒng)的脈絡(luò)更加清晰,通過一個配置文件,即可把握整個系統(tǒng)各部分之間的聯(lián) 系,這對于后期的維護(hù)有莫大的好處,尤其是另外一批開發(fā)者接手這個項目時,這種優(yōu)勢體現(xiàn)的更加明 顯。5、Hibernate 技術(shù)Hibernate是一個開放源代碼的對象關(guān)系映射框架,它對 JDBC進(jìn)行了非常輕量級的對象封裝,使得 Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。Hibernate可以應(yīng)用在任何使用JDBC的場合,既可以在 Java的客戶端程序使用,也可以

15、在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代 CMP ,完成數(shù)據(jù)持久化的重任。Hibernate 的核心類和接口一共有 6 個,分別為:Session、SessionFactory、Transaction、Query、 Criteria D Configuration 。這6個核心類和接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對 持久化對象進(jìn)行存取,還能夠進(jìn)行事務(wù)控制。Hibernate 中的核心接口與類Hibernate的工作原理:1、通過Configuration().configure();讀取并解析配置文件。

16、2、由中的讀取解析映射信息。3、通過();.的鍵值對的結(jié)構(gòu),在面向?qū)ο蟮恼Z言中,key為對象的屬性,value為對應(yīng)的屬性值,所以很容易理解,取值方法為對象.key獲取屬性值,這個屬性值的類型可以是 數(shù)字、字符串、數(shù)組、對象幾種。2、數(shù)組:數(shù)組在js中是中括號“起來的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為java,javascript,vb,.,取值方式和所有語言中一樣,使用索引獲取,字段值的類型可以是數(shù)字、字符串、數(shù)組、對象幾種。JSON的具體形式:1)對象是一個無序的“名稱/值”對的集合2)數(shù)組是值的有序集合3)值可以是雙引號括起來的字符串,數(shù)值, true, false , null,對象或者數(shù)組。這些結(jié)構(gòu)可

17、以 嵌套。4)字符串是由雙引號包圍的任意數(shù)量Unicode字符的集合,使用反斜線轉(zhuǎn)義。一個字符即一個單獨(dú)的字符串,字符串與C或者Java的字符串非常相似。6、7、5)數(shù)值也與C或者Java的數(shù)值非常相似,除去未使用的八進(jìn)制和十六進(jìn)制格式。JQuery技術(shù)JQuery是繼prototype之后又一個優(yōu)秀的 Javascript庫。它是輕量級的js庫,它兼容CSS3 ,還兼 容各種瀏覽器(IE +, FF +, Safari +, Opera +),及后續(xù)版本將不再支持IE6/7/8瀏覽器。jQuery使用戶能更方便地處理HTML (標(biāo)準(zhǔn)通用標(biāo)記語言下的一個應(yīng)用)、events、實(shí)現(xiàn)動畫效果,并且

18、方便地為網(wǎng)站提供AJAX 交互。jQuery還有一個比較大的優(yōu)勢是,它的文檔說明很全,而且各種應(yīng)用 也說得很詳細(xì),同時還有許多成熟的插件可供選擇。jQuery能夠使用戶的html頁面保持代碼和html內(nèi)容分離,也就是說,不用再在html里面插入一堆js來調(diào)用命令了,只需要定義id即可。jQuery是免費(fèi)、開源的,使用 MIT許可協(xié)議。jQuery的語法設(shè)計可以使開發(fā)者更加便捷,例如操作 文檔對象、選擇 DOM元素、制作動畫效果、事件處理、使用 Ajax以及其他功能。除此以外, jQuery提供API讓開發(fā)者編寫插件。其模塊化的使用方式使開發(fā)者可以很輕松的開發(fā)出功能強(qiáng)大的 靜態(tài)或動態(tài)網(wǎng)頁。JQu

19、ery技術(shù)的特點(diǎn)1)動態(tài)特效AJAX通過插件來擴(kuò)展方便的工具-例如瀏覽器版本控制漸進(jìn)增強(qiáng)鏈?zhǔn)秸{(diào)用7)多瀏覽器支持,支持 Internet Explorer、Opera、FireFox Safari Chrome 等瀏覽器。HTML5技術(shù)萬維網(wǎng)的核心語言、標(biāo)準(zhǔn)通用標(biāo)記語言下的一個應(yīng)用超文本標(biāo)記語言( HTML)的第五次重大修改。HTML5的設(shè)計目的是為了在移動設(shè)備上支持多媒體。新的語法特征被引進(jìn)以支持這一點(diǎn),如video、audio和canvas標(biāo)記。HTML5還引進(jìn)了新的功能,可以真正改變用戶與文檔的交互方式, 包括:新的解析規(guī)則增強(qiáng)了靈活性新屬性,淘汰過時的或冗余的屬性一個HTML5文檔到另一個文檔間的拖放功能離線編輯信息傳遞的增強(qiáng)詳細(xì)的解析規(guī)則多用途互聯(lián)網(wǎng)郵件擴(kuò)展(MIME )和協(xié)議處理程序注冊在SQL數(shù)據(jù)庫中存儲數(shù)據(jù)的通用標(biāo)準(zhǔn)( Web SQL )HTML5的特性:語義特性(Class : Semantic )HTML5賦予網(wǎng)頁更好的意義和結(jié)構(gòu)。更加豐富的標(biāo)簽將隨著對RDFa的,微數(shù)據(jù)與微格式等方面的本地存儲特性(Class: OFFLINE & STORAGE )連接特性(Class: CONNECTIVITY )支持,構(gòu)建對程序、對用戶都更有價值的數(shù)據(jù)驅(qū)動的Web。更有效的連接工作效率,使得基于頁面的實(shí)時聊天,更快速的網(wǎng)頁游戲體驗(yàn),更優(yō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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論