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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

19、ery技術的特點1)動態(tài)特效AJAX通過插件來擴展方便的工具-例如瀏覽器版本控制漸進增強鏈式調用7)多瀏覽器支持,支持 Internet Explorer、Opera、FireFox Safari Chrome 等瀏覽器。HTML5技術萬維網(wǎng)的核心語言、標準通用標記語言下的一個應用超文本標記語言( HTML)的第五次重大修改。HTML5的設計目的是為了在移動設備上支持多媒體。新的語法特征被引進以支持這一點,如video、audio和canvas標記。HTML5還引進了新的功能,可以真正改變用戶與文檔的交互方式, 包括:新的解析規(guī)則增強了靈活性新屬性,淘汰過時的或冗余的屬性一個HTML5文檔到另一個文檔間的拖放功能離線編輯信息傳遞的增強詳細的解析規(guī)則多用途互聯(lián)網(wǎng)郵件擴展(MIME )和協(xié)議處理程序注冊在SQL數(shù)據(jù)庫中存儲數(shù)據(jù)的通用標準( Web SQL )HTML5的特性:語義特性(Class : Semantic )HTML5賦予網(wǎng)頁更好的意義和結構。更加豐富的標簽將隨著對RDFa的,微數(shù)據(jù)與微格式等方面的本地存儲特性(Class: OFFLINE & STORAGE )連接特性(Class: CONNECTIVITY )支持,構建對程序、對用戶都更有價值的數(shù)據(jù)驅動的Web。更有效的連接工作效率,使得基于頁面的實時聊天,更快速的網(wǎng)頁游戲體驗,更優(yōu)

溫馨提示

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

評論

0/150

提交評論