第一篇:李恒武網(wǎng)頁部分復(fù)習(xí)
1.萬維網(wǎng)的工作原理.瀏覽器向服務(wù)器發(fā)出請求,服務(wù)器向瀏覽器返回客戶所要的萬維網(wǎng)文檔。
萬維網(wǎng)的大致工作過程: 第一步: 瀏覽器確定URL用戶瀏覽頁面的方法有兩種。在瀏覽器的Location窗口中鍵入URL。在某一個頁面中用鼠標(biāo)點(diǎn)擊一個可選部分,這時瀏覽器自動在因特網(wǎng)上找到所要鏈接的頁面本質(zhì)相同:確定訪問網(wǎng)頁的URL: 協(xié)議/主機(jī)域名/網(wǎng)頁。第二步:瀏覽器通過DNS查詢和DNS應(yīng)答確定服務(wù)器的IP地址,確定服務(wù)器主機(jī)。第三步:瀏覽器與服務(wù)器建立TCP連接。萬維網(wǎng)以Web瀏覽器/服務(wù)器方式工作。第四步: 瀏覽器發(fā)送HTTP請求。第五步: 服務(wù)器查找網(wǎng)頁,發(fā)送HTTP響應(yīng)。第六步: 瀏覽器與服務(wù)器釋放連接。第七步: 瀏覽器調(diào)用解釋程序,解釋頁面并顯示。
2.靜態(tài) 動態(tài) DHTML網(wǎng)頁的工作原理/開發(fā)環(huán)境和工具。靜態(tài)網(wǎng)頁的工作原理:
動態(tài)網(wǎng)頁的工作原理:
動態(tài)網(wǎng)頁的服務(wù)端程序代碼由服務(wù)器運(yùn)行,將運(yùn)行結(jié)果轉(zhuǎn)化為靜態(tài)網(wǎng)頁由HTTP響應(yīng): 發(fā)送到瀏覽器,瀏覽器看不到動態(tài)網(wǎng)頁的代碼,如圖所示:
DHTML的工作原理:
3.CSS的選擇器和樣式表的類型。
選擇器:通配選擇器、標(biāo)記選擇器、CLASS 類選擇器、ID 選擇器(優(yōu)先級逐漸增大)
示例中的選擇器分別是標(biāo)記選擇器、類選擇器和ID選擇器。
同一id在一個頁面內(nèi)只能應(yīng)用一次,而class則是用于描述多次出現(xiàn)的元素。通配選擇器:* {color:blue;font-family:黑體;}應(yīng)用于所有元素。很少使用。
樣式表分為三個層次:行內(nèi)樣式表、文檔樣式表、外部樣式表。如果希望某段文字和其他段落的文字顯示風(fēng)格不一樣,那么請采用“行內(nèi)樣式”。行內(nèi)樣式使用元素標(biāo)簽的 STYLE 屬性定義。行內(nèi)樣式表局限于某個標(biāo)簽,如果希望本網(wǎng)頁內(nèi)的所以同類標(biāo)簽都采用統(tǒng)一樣式,這時應(yīng)采用文檔樣式。外部樣式表是一個獨(dú)立的CSS文件,在使用外部樣式表的文檔中指定使用的外部樣式表。根據(jù)樣式文件與網(wǎng)頁的關(guān)聯(lián)方式又分為:鏈接(LINK)外部樣式表、導(dǎo)入(import)外部樣式表。內(nèi)部樣式表的定義將要覆蓋外部樣式表的定義。這是因為內(nèi)部樣式表的優(yōu)先級高于外部樣式表。
行內(nèi)樣式 > ID樣式 > 類樣式 > 標(biāo)記樣式
優(yōu)先級相同的情況下,后定義的樣式會覆蓋先前定義的樣式。
4.頁面布局的三種樣式及特點(diǎn).表格、層、框架。使用表格進(jìn)行頁面布局是一個傳統(tǒng)有效的方法,但要在頁面中隨意移動表格是不可以的,因此使用表格進(jìn)行布局,必須預(yù)先進(jìn)行嚴(yán)謹(jǐn)?shù)囊?guī)劃。層可以隨意移動,因此在布局方面具有很好的靈活性,常常被用來進(jìn)行布局的構(gòu)思和設(shè)計,并可以與表格相互轉(zhuǎn)換。與表格布局相比各有優(yōu)缺點(diǎn),并且可以互換互補(bǔ)。使用層進(jìn)行布局是簡單的,只需在頁面上按構(gòu)思隨意的畫就可以了??蚣芸梢詫g覽器窗口劃分為若干區(qū)域,每一區(qū)域?qū)?yīng)著一個獨(dú)立的網(wǎng)頁,通過框架集結(jié)合在一起,使得一個窗口可以同時顯示多個網(wǎng)頁。同時,各框架頁之間可通過鏈接進(jìn)行調(diào)用,可以在一個框架頁內(nèi)定義鏈接,在另一個框架頁面顯示內(nèi)容,利用框架可以較快的布局網(wǎng)頁。
5.建立網(wǎng)站的方式
6.JavaScript 的瀏覽器對象和功能。顯示日期時間
某些網(wǎng)頁會顯示目前的日期和時間,可能你會覺得有點(diǎn)神奇,怎么瀏覽器會知道目前的時間呢?這也是JavaScript提供的功能,它可以偵測你的電腦目前的時間,并且顯示在網(wǎng)頁中。顯示更新日期
許多網(wǎng)頁會公告最新更新日期讓大家知道,Java Scirpt可以自動偵測網(wǎng)頁修改的日期,讓你省去在每次修改網(wǎng)頁時就得修改日期的動作。跑馬燈文字
讓你可以方便顯示較長的訊息,又不占去大塊的版面空間。按鈕變化效果
當(dāng)你移動滑鼠游到左邊的按鈕上時,按鈕便會變成色,在瀏覽器下方狀態(tài)列上也會顯示出相關(guān)文字,這也是利用JavaScript制作的動態(tài)效果。7.JSP 的內(nèi)部對象和功能。
out對象:功能是把信息回送到客戶端的瀏覽器中。response對象:功能是處理服務(wù)器端對客戶端的一些響應(yīng)。request對象:功能是用來得到客戶端的信息。application對象:用來保存網(wǎng)站的一些全局變量。session對象:用來保存單個用戶訪問時的一些信息。cookie對象:將服務(wù)器端的一些信息寫到客戶端的瀏覽器中。pageContext對象:提供了訪問和放置頁面中共享數(shù)據(jù)的方式。
config對象:存儲在編譯 JSP 頁面的過程中創(chuàng)建的 Servlet 的信息
javax.servlet.ServletConfig 接口的實(shí)例提供了檢索 Servlet 初始化參數(shù)的方法 page對象和except對象
使用 page 對象可以訪問 Servlet 類的所有變量和方法java.lang.Object類的一個實(shí)例相當(dāng)于this,通過page對象訪問實(shí)例的屬性和函數(shù)
exception對象用于處理 JSP 頁面中的錯誤,用于訪問執(zhí)行 JSP 的過程中引發(fā)的異常java.lang.Throwable 類的實(shí)例
8.JSP的工作流程。
JSP的工作流程:當(dāng)服務(wù)器上的JSP頁面被第一次請求執(zhí)行時,服務(wù)器上的JSP引擎首先將JSP頁面文件轉(zhuǎn)譯成一個java文件,再將這個java文件編譯生成字節(jié)碼文件,然后通過執(zhí)行字節(jié)碼文件響應(yīng)客戶的請求。JSP頁面轉(zhuǎn)譯成的java文件,即一個servlet。
9.Servelet 和JSP的關(guān)系。
作為Web服務(wù)器端的技術(shù),JSP和Servlet具有各自的特點(diǎn)。一般來說,JSP對于動態(tài)生成的HTML頁面內(nèi)容具有優(yōu)勢,通常多被應(yīng)用在網(wǎng)頁內(nèi)容的設(shè)計。對于Servlet技術(shù)而言,多被應(yīng)用在業(yè)務(wù)邏輯控制方面。JSP技術(shù)和Servlet技術(shù)相結(jié)合,可以實(shí)現(xiàn)動態(tài)和靜態(tài)內(nèi)容的顯示以及Web業(yè)務(wù)邏輯的處理。
JSP可以向Servlet傳遞數(shù)據(jù),轉(zhuǎn)向Servlet,同樣Servlet可以向JSP傳遞數(shù)據(jù),轉(zhuǎn)向JSP頁面,詳見后面購物車應(yīng)用一節(jié)。JSP是以另外一種方式實(shí)現(xiàn)的Servlet,Servlet是JSP的早期版本,在JSP中,更加注重頁面的表現(xiàn),而在Servlet中則更注重業(yè)務(wù)邏輯的實(shí)現(xiàn)。因此,當(dāng)編寫的頁面顯示效果比較復(fù)雜時,首選是JSP?;蛘咴陂_發(fā)過程中,HTML代碼經(jīng)常發(fā)生變化,而Java代碼則相對比較固定時,可以選擇JSP。而我們在處理業(yè)務(wù)邏輯時,首選則是Servlet。JSP技術(shù)和Servlet技術(shù)相結(jié)合,可以實(shí)現(xiàn)動態(tài)和靜態(tài)內(nèi)容的顯示以及Web業(yè)務(wù)邏輯的處理。本節(jié)將介紹JSP技術(shù)和Servlet技術(shù)的 應(yīng)用。JSP只能處理瀏覽器的請求,而Servlet則可以處理一個客戶端的應(yīng)用程序請求。因此,Servlet加強(qiáng)了Web服務(wù)器的功能。JSP可以向Servlet傳遞數(shù)據(jù),轉(zhuǎn)向Servlet,同樣Servlet可調(diào)用JSP提供用戶界面,可以向JSP傳遞數(shù)據(jù),轉(zhuǎn)向JSP頁面。Servlet和JSP都可通過JAVABEAN實(shí)現(xiàn)業(yè)務(wù)邏輯或訪問后臺。詳見后面購物車應(yīng)用一節(jié)。
10.JSP的設(shè)計模式和特點(diǎn)。
JSP設(shè)計模式包括兩個:(1)Model I,JSP+JavaBean設(shè)計模式(2)Model II,MVC設(shè)計模式。Model I 體系結(jié)構(gòu)結(jié)合使用 JSP 頁面和 JavaBean 來開發(fā) Web 應(yīng)用程序。Model I 體系結(jié)構(gòu)用于開發(fā)簡單的應(yīng)用程序。Model I 體系結(jié)構(gòu)包括多個用戶可與之交互的頁面??蛻舳四軌蛑苯釉L問加載到服務(wù)器上的頁面。Model I Web 應(yīng)用程序由復(fù)雜的 Web 邏輯組成,并鏈接至 Web 應(yīng)用程序的其他頁面。在這種模式中,JSP頁面獨(dú)自響應(yīng)請求并將處理結(jié)果返回客戶,所有的數(shù)據(jù)庫操作通過JavaBean來實(shí)現(xiàn)。驗證、流程控制、更新程序的狀態(tài)全部在JSP中完成。大量地使用這種模式,常會導(dǎo)致在JSP頁面中嵌入大量的Java代碼,當(dāng)需要處理的商業(yè)邏輯非常復(fù)雜時,這種情況就會變得很糟糕。大量的Java代碼使得JSP頁面變得非常臃腫。前端的頁面設(shè)計人員稍有不慎,就有可能破壞關(guān)系到商業(yè)邏輯的代碼。業(yè)務(wù)邏輯與表示邏輯混和,這種情況在大型項目中經(jīng)常出現(xiàn),造成了代碼開發(fā)和維護(hù)的困難,同時會導(dǎo)致項目管理的困難。因此這種模式只適用于中小規(guī)模的項目。
Model II 是一種設(shè)計模式,MVC 將交互式應(yīng)用程序組織成三個獨(dú)立的模塊:模型、視圖、控制器。模型:應(yīng)用程序模塊,用于表示數(shù)據(jù)和業(yè)務(wù)邏輯,對視圖 控制器一無所知。視圖:模型的表示,應(yīng)用程序的外觀,對控制器一無所知??刂破?,用于發(fā)送請求和控制應(yīng)用程序的流程,創(chuàng)建并設(shè)置流程。Model II 體系結(jié)構(gòu)的優(yōu)點(diǎn):使用同一模型處理多個請求,增加新客戶端更容易,可以很靈活地設(shè)計和實(shí)現(xiàn)模型對象。
11.如何將自己的計算機(jī)當(dāng)作服務(wù)器? 1.安裝IIS 打開控制面板中的“刪除/添加程序”,選擇“添加/刪除Windows組件”,在彈出的Windows組件向?qū)Т翱谥羞x中“Internet 信息服務(wù)(IIS)”,點(diǎn)“詳細(xì)信息”按鈕,把其中的“Internet 信息服務(wù)管理單元”、“公用文件”、“萬維網(wǎng)服務(wù)”、“文檔”選項選中(如圖1),確定后,插入系統(tǒng)安裝盤進(jìn)行安裝。2.設(shè)置Wed服務(wù)器
安裝好IIS后,還需要對其做一些簡單的設(shè)置。打開控制面板中的“管理工具→Internet信息服務(wù)”,然后在窗口左側(cè)依次打開“本地計算機(jī)→網(wǎng)站→默認(rèn)網(wǎng)站”,在默認(rèn)網(wǎng)站上點(diǎn)右鍵選屬性,打開“默認(rèn)網(wǎng)站屬性”窗口。在“網(wǎng)站”標(biāo)簽的“IP地址”中選擇“全部未分配”,其他項默認(rèn);選擇“主目錄”標(biāo)簽,“連接到資源時的內(nèi)容來源”單選項中選擇“此計算機(jī)上的目錄”,然后在“本地路徑”中指定主頁所在的位置(如圖2);打開“文檔”標(biāo)簽,選中“啟用默認(rèn)文檔”,然后單擊“添加”按鈕,輸入網(wǎng)站首頁名,一般是“index.htm”。
12.Servelet的生命周期
servelet的生命周期就是指創(chuàng)建servelet實(shí)例之后其存在的時間及何時消失。生命周期的3個方法:
Init()、service()、destroy()。
1.初始化階段
初始化階段中實(shí)際包含了兩個過程:裝載Servlet;初始化Servlet。通常裝載Servlet有以下幾種情況。
(1)Servlet容器啟動時,根據(jù)配置自動裝載Servlet。一般,根據(jù)web.xml的
(3)由管理者決定。如果管理者修改了Servlet文件,Servlet容器會重新裝載Servlet 裝載Servlet后,Servlet容器會創(chuàng)建一個Servlet對象。并調(diào)用該Servlet對象的init()方法,初始化Servlet,分配資源,配置相關(guān)的參數(shù)。2.響應(yīng)用戶請求階段
Servlet容器會根據(jù)用戶請求,生成ServletRequest對象和ServletResponse對象,分別封裝用戶請求的信息與響應(yīng)請求結(jié)果。
(如果用戶的請求是基于HTTP協(xié)議的Servlet,則Servlet容器會創(chuàng)建HttpServletRequest對象和HttpServletResponse對象來封裝用戶的請求和響應(yīng)請求的結(jié)果)
然后,調(diào)用Servlet對象的service方法,將生成的ServletRequest對象和ServletResponse對象,傳遞給service()方法。在service()中獲取ServletRequest對象中用戶信息,并進(jìn)行處理,最后通過ServletResponse對象將響應(yīng)發(fā)送給用戶。3.終止階段
當(dāng)Servlet被清除時,Servlet容器會調(diào)用Servlet的destroy()方法,釋放Servlet占據(jù)的資源。
init方法只被調(diào)用一次,即在servlet第一次被請求加載時調(diào)用該方法。
當(dāng)后續(xù)的客戶請求servlet服務(wù)時,Web服務(wù)將啟動一個新的線程,在該線程中,servlet調(diào)用service方法響應(yīng)客戶的請求,也就是說,每個客戶的每次請求都導(dǎo)致service方法被調(diào)用執(zhí)行。
解釋帶標(biāo)號段落的標(biāo)記和屬性10分 XHTML、CSS、JAVASCRIPT JSP語法