




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、課后習(xí)題答案第1章1.什么是靜態(tài)網(wǎng)頁(yè)?什么是動(dòng)態(tài)網(wǎng)頁(yè)??jī)烧叩膮^(qū)別是什么?試舉例說(shuō)明。答:在網(wǎng)站設(shè)計(jì)中,純粹HTML格式的網(wǎng)頁(yè)通常被稱為“靜態(tài)網(wǎng)頁(yè)”,早期的網(wǎng)站一般都是由靜態(tài)網(wǎng)頁(yè)制作的。靜態(tài)網(wǎng)頁(yè)是相對(duì)于動(dòng)態(tài)網(wǎng)頁(yè)而言,是指沒(méi)有后臺(tái)數(shù)據(jù)庫(kù)、不含程序和不可交互的網(wǎng)頁(yè)。你編的是什么它顯示的就是什么、不會(huì)有任何改變。靜態(tài)網(wǎng)頁(yè)相對(duì)更新起來(lái)比較麻煩,適用于一般更新較少的展示型網(wǎng)站。靜態(tài)網(wǎng)頁(yè)的網(wǎng)址形式通常為: 我們將靜態(tài)網(wǎng)頁(yè)的特點(diǎn)簡(jiǎn)要?dú)w納如下:(1)靜態(tài)網(wǎng)頁(yè)每個(gè)網(wǎng)頁(yè)都有一個(gè)固定的URL,且網(wǎng)頁(yè)URL以.htm、.html、.shtml等常見形式為后綴,而不含有“?”; (2)網(wǎng)頁(yè)內(nèi)容一經(jīng)發(fā)布到網(wǎng)站服務(wù)器上,無(wú)論
2、是否有用戶訪問(wèn),每個(gè)靜態(tài)網(wǎng)頁(yè)的內(nèi)容都是保存在網(wǎng)站服務(wù)器上的,也就是說(shuō),靜態(tài)網(wǎng)頁(yè)是實(shí)實(shí)在在保存在服務(wù)器上的文件,每個(gè)網(wǎng)頁(yè)都是一個(gè)獨(dú)立的文件;(3)靜態(tài)網(wǎng)頁(yè)的內(nèi)容相對(duì)穩(wěn)定,因此容易被搜索引擎檢索;(4)靜態(tài)網(wǎng)頁(yè)沒(méi)有數(shù)據(jù)庫(kù)的支持,在網(wǎng)站制作和維護(hù)方面工作量較大,因此當(dāng)網(wǎng)站信息量很大時(shí)完全依靠靜態(tài)網(wǎng)頁(yè)制作方式比較困難;(5)靜態(tài)網(wǎng)頁(yè)的交互性交叉,在功能方面有較大的限制 動(dòng)態(tài)網(wǎng)頁(yè)是與靜態(tài)網(wǎng)頁(yè)相對(duì)應(yīng)的,也就是說(shuō),網(wǎng)頁(yè) URL的后綴不是.htm、.html、.shtml、.xml等靜態(tài)網(wǎng)頁(yè)的常見形式,而是以.asp、.jsp、.php、.perl、.cgi等形式為后綴,并且在動(dòng)態(tài)網(wǎng)頁(yè)網(wǎng)址中有一個(gè)標(biāo)志性的符號(hào)
3、“?”,如有這樣一個(gè)動(dòng)態(tài)網(wǎng)頁(yè)的地址為:我們將動(dòng)態(tài)網(wǎng)頁(yè)的一般特點(diǎn)簡(jiǎn)要?dú)w納如下:(1)動(dòng)態(tài)網(wǎng)頁(yè)以數(shù)據(jù)庫(kù)技術(shù)為基礎(chǔ),可以大大降低網(wǎng)站維護(hù)的工作量;(2)采用動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)的網(wǎng)站可以實(shí)現(xiàn)更多的功能,如用戶注冊(cè)、用戶登錄、在線調(diào)查、用戶管理、訂單管理等等;(3)動(dòng)態(tài)網(wǎng)頁(yè)實(shí)際上并不是獨(dú)立存在于服務(wù)器上的網(wǎng)頁(yè)文件,只有當(dāng)用戶請(qǐng)求時(shí)服務(wù)器才返回一個(gè)完整的網(wǎng)頁(yè);(4)動(dòng)態(tài)網(wǎng)頁(yè)中的“?”對(duì)搜索引擎檢索存在一定的問(wèn)題,搜索引擎一般不可能從一個(gè)網(wǎng)站的數(shù)據(jù)庫(kù)中訪問(wèn)全部網(wǎng)頁(yè),或者出于技術(shù)方面的考慮,搜索蜘蛛不去抓取網(wǎng)址中“?”后面的內(nèi)容,因此采用動(dòng)態(tài)網(wǎng)頁(yè)的網(wǎng)站在進(jìn)行搜索引擎推廣時(shí)需要做一定的技術(shù)處理才能適應(yīng)搜索引擎的要求。
4、靜態(tài)網(wǎng)頁(yè)與動(dòng)態(tài)的區(qū)別 (我加的:看看)程序是否在服務(wù)器端運(yùn)行,是重要標(biāo)志。在服務(wù)器端運(yùn)行的程序、網(wǎng)頁(yè)、組件,屬于動(dòng)態(tài)網(wǎng)頁(yè),它們會(huì)隨不同客戶、不同時(shí)間,返回不同的網(wǎng)頁(yè),例如ASP、PHP、JSP、ASP.net、CGI等。運(yùn)行于客戶端的程序、網(wǎng)頁(yè)、插件、組件,屬于靜態(tài)網(wǎng)頁(yè),例如html頁(yè)、Flash、JavaScript、VBScript等等,它們是永遠(yuǎn)不變的。 2. 什么是B/S模式?什么是C/S模式?試舉例說(shuō)明。(我加的:B/S 結(jié)構(gòu)(Browser/Server 結(jié)構(gòu))結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu))答:即瀏覽器服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對(duì)CS結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。
5、在這種結(jié)構(gòu)下,用戶工作界面通過(guò)瀏覽器來(lái)實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層結(jié)構(gòu)。這樣就大大簡(jiǎn)化了客戶端電腦載荷,減輕了系統(tǒng)維護(hù)與升級(jí)的成本和工作量,降低了用戶的總體成本。客戶機(jī)上只要安裝一個(gè)瀏覽器(Browser),如Netscape Navigator或Internet Explorer,服務(wù)器安裝Oracle、Sybase、Informix或 SQL Server等數(shù)據(jù)庫(kù)。瀏覽器通過(guò)Web Server 同數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互。這種模式,我們通常將其成為瘦客戶端模式。典型的系統(tǒng):網(wǎng)上銀行、網(wǎng)上書店、Blog等等客戶機(jī)/服
6、務(wù)器(Client/Server,C/S)模式即客戶機(jī)和服務(wù)器結(jié)構(gòu)。這種體系結(jié)構(gòu)模式是以數(shù)據(jù)庫(kù)服務(wù)器為中心、以客戶機(jī)為網(wǎng)絡(luò)基礎(chǔ)、在信息系統(tǒng)軟件支持下的兩層結(jié)構(gòu)模型。這種體系結(jié)構(gòu)中,用戶操作模塊布置在客戶機(jī)上,數(shù)據(jù)存儲(chǔ)在服務(wù)器上的數(shù)據(jù)庫(kù)中。客戶機(jī)依靠服務(wù)器獲得所需要的網(wǎng)絡(luò)資源,而服務(wù)器為客戶機(jī)提供網(wǎng)絡(luò)必須的資源。目前大多數(shù)信息系統(tǒng)是采用ClientServer結(jié)構(gòu)。服務(wù)器通常采用高性能的PC、工作站或小型機(jī),并采用大型數(shù)據(jù)庫(kù)系統(tǒng),如Oracle、Sybase、Informix或 SQL Server??蛻舳诵枰惭b專用的客戶端軟件。 這種模式我們也通常成為胖客戶端模式。典型的系統(tǒng):QQ、MSN3
7、. 什么是JSP?與ASP、PHP、ASP.NET相比,JSP(我加的:動(dòng)態(tài)頁(yè)面)有哪些優(yōu)點(diǎn)?答:JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)的、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁(yè)技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)是用Java語(yǔ)言作為腳本語(yǔ)言的,JSP網(wǎng)頁(yè)為整個(gè)服務(wù)器端的JAVA庫(kù)單元提供了一個(gè)接口來(lái)服務(wù)于HTTP的應(yīng)用程序。JSP不像CGI,ISAPI和NSAPI那樣難于編寫和維護(hù),不像PHP那樣只能適應(yīng)中小流量的網(wǎng)站,也不像ASP那樣受到跨平臺(tái)的限制(只能運(yùn)行于Microsoft公司開發(fā)的IIS和PWS上)。JSP體現(xiàn)了當(dāng)今最先進(jìn)的網(wǎng)站開發(fā)思想,和其他Web開
8、發(fā)工具相比,JSP有著它自己強(qiáng)大的優(yōu)勢(shì)。程序可以跨臺(tái)平執(zhí)行。JSP可以讓開發(fā)人員在任意環(huán)境中進(jìn)行開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展應(yīng)用程序。多樣化和功能強(qiáng)大的開發(fā)工具支持。Java有許多非常優(yōu)秀的開發(fā)工具,而且有許多可以免費(fèi)得到,并且其中的許多已經(jīng)可以順利地運(yùn)行于多種平臺(tái)之下。強(qiáng)大的可伸縮性。從只有一個(gè)小的jar文件就可以運(yùn)行servlet/jsp到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,一臺(tái)服務(wù)器到無(wú)數(shù)臺(tái)服務(wù)器,Java顯示了巨大的生命力。4. JSP、Java和JavaScript有什么區(qū)別與聯(lián)系?答:JAVASCRIPT從其名稱含義是JAV
9、A腳本,是在瀏覽器中運(yùn)行的腳本語(yǔ)言,由于其大部分語(yǔ)法規(guī)范取自于JAVA語(yǔ)法規(guī)范,所以取名為JAVASCRIPT。JAVASCRIPT是一門基于對(duì)象的弱類型腳本編程語(yǔ)言,主要用來(lái)制作網(wǎng)頁(yè)前臺(tái)的技術(shù)。并且是現(xiàn)在比較熱門的AJAX技術(shù)的核心。JSP是JAVA SERVER PAGE的首字母縮寫,顧名思義,是JAVA的服務(wù)端頁(yè)面,其動(dòng)態(tài)語(yǔ)法部分完全是JAVA規(guī)范。JSP是基于Java的技術(shù),用于創(chuàng)建可支持跨平臺(tái)及Web服務(wù)器的動(dòng)態(tài)網(wǎng)頁(yè)。從構(gòu)成情況上來(lái)看,JSP頁(yè)面代碼一般由普通的HTML語(yǔ)句和特殊的基于Java語(yǔ)言的嵌入標(biāo)記組成,所以它具有了Web和Java功能的雙重特性。JSP是和ASP,PHP一樣
10、的服務(wù)器端語(yǔ)言,主要用來(lái)制作網(wǎng)站后臺(tái)的技術(shù)。JAVA是和C/C+一個(gè)等級(jí)的強(qiáng)類型編程語(yǔ)言,是純面向?qū)ο蟮?比起JSP和JAVASCRIPT要復(fù)雜的多。一般學(xué)好JAVA就能很容易轉(zhuǎn)向其他兩門語(yǔ)言。總結(jié):JSP是JAVA技術(shù)的其中之一,所以學(xué)好了JAVA過(guò)渡到JSP從編程角度來(lái)講比較容易,學(xué)好JSP以后要想學(xué)好JAVA,就還要學(xué)習(xí)更多的JAVA方面的東西,比如JAVABEAN,企業(yè)級(jí)應(yīng)用等等。JAVASCRIPT嚴(yán)格來(lái)講,除了語(yǔ)法參照了JAVA語(yǔ)法規(guī)范外,和JAVA毫無(wú)關(guān)系,所以兩者之間只是語(yǔ)法規(guī)范類似,相互之間的過(guò)渡就只有語(yǔ)法能夠參照,其他的都得分別去了解,JAVASCRIPT是過(guò)程式語(yǔ)言,JA
11、VA則是面向?qū)ο蟮摹?#160;第2章1. 什么是 HTML 語(yǔ)言? HTML文件有什么特征?答:HTML是超文本標(biāo)記語(yǔ)言(Hypertext Mark-up Language)的縮寫,主要用來(lái)創(chuàng)建與系統(tǒng)平臺(tái)無(wú)關(guān)的網(wǎng)頁(yè)文檔。它是目前網(wǎng)絡(luò)上應(yīng)用最為廣泛的語(yǔ)言,也是構(gòu)成網(wǎng)頁(yè)文檔的主要語(yǔ)言,它不是編程語(yǔ)言,而是一種描述性的標(biāo)記(標(biāo)簽)語(yǔ)言。HTML文件是純文本文件,是由HTML命令組成的描述性文本,HTML命令可以說(shuō)明文字、圖形、動(dòng)畫、聲音、表格、鏈接等。HTML文件能用任意的文本編輯器編輯,如:記事本、寫字板、Word等,也可以使用所見即所得的編輯器來(lái)編輯HTML文件,如Dreamweaver等。
12、2. 什么是JavaScript?答:JavaScript是由Netscape公司開發(fā)的一種網(wǎng)頁(yè)的腳本編程語(yǔ)言,它支持客戶端與服務(wù)器端的應(yīng)用程序以及構(gòu)件的開發(fā)。JavaScript是一種解釋性的語(yǔ)言,它的基本結(jié)構(gòu)形式與其他編程語(yǔ)言相似,需要先編譯后執(zhí)行。JavaScript是適應(yīng)動(dòng)態(tài)網(wǎng)頁(yè)制作的需要而誕生的一種新的編程語(yǔ)言,如今越來(lái)越廣泛地使用于Internet網(wǎng)頁(yè)制作上。在HTML基礎(chǔ)上,使用Javascript可以開發(fā)交互式Web網(wǎng)頁(yè)。JavaScript的出現(xiàn)使得網(wǎng)頁(yè)和用戶之間實(shí)現(xiàn)了一種實(shí)時(shí)性的、動(dòng)態(tài)的、交互性的關(guān)系,使網(wǎng)頁(yè)包含更多活躍的元素和更加精彩的內(nèi)容。3. 簡(jiǎn)述HTML和JavaS
13、cript在JSP動(dòng)態(tài)網(wǎng)頁(yè)中所扮演的角色。答:要使用JSP開發(fā)出專業(yè)的動(dòng)態(tài)網(wǎng)站,首先必須熟練掌握靜態(tài)網(wǎng)站的制作技術(shù)。HTML是在學(xué)習(xí)JSP之前必須了解的基礎(chǔ)知識(shí),很多JSP語(yǔ)法的使用都是建立在HTML文檔的基礎(chǔ)上。實(shí)際開發(fā)中,一般都是使用現(xiàn)成的HTML文檔來(lái)添加JSP的動(dòng)態(tài)腳本并做適當(dāng)修改,除了特殊的應(yīng)用,很少?gòu)牧汩_始寫一個(gè)JSP頁(yè)面,所以讀懂HTML文檔并了解HMTL語(yǔ)言中的技巧為更快地上手JSP提供了很大的幫助。JavaScript是JSP知識(shí)體系中一個(gè)可選的知識(shí)模塊。也就是說(shuō)不了解JavaScript知識(shí)也不會(huì)影響JSP的應(yīng)用開發(fā),但是如果掌握了JavaScript的知識(shí),將可以更加方便
14、地解決網(wǎng)頁(yè)開發(fā)中的某些特定問(wèn)題,例如經(jīng)常使用JavaScript判斷用戶在表單中輸入數(shù)據(jù)的合法性。第3章無(wú)第4章1.如何在HTML網(wǎng)頁(yè)中嵌入JSP程序代碼?怎樣來(lái)定義JSP中的聲明區(qū)與程序區(qū)?答:在JSP網(wǎng)頁(yè)中必須于<%與%>符號(hào)間嵌入程序代碼。JSP聲明的語(yǔ)法格式為:<%! declaration; declaration; . %> 或<%! 聲明; 聲明; . %>腳本代碼的語(yǔ)法格式如下:<% code fragment %> 或<% 代碼 %>2.請(qǐng)說(shuō)明JSP中有哪3個(gè)指令元素,以及這3個(gè)指令的主要用途。答:page指令:可用
15、來(lái)設(shè)置JSP網(wǎng)頁(yè)的特性,如編碼方式、引用類、緩沖區(qū)等。include指令:可用來(lái)將HTML、文本文件或者JSP程序加載當(dāng)前的JSP網(wǎng)頁(yè)。taglib指令:可用來(lái)引用一個(gè)自定義的標(biāo)簽庫(kù)。3.JSP中include指令與include動(dòng)作的區(qū)別?答:include指令是指把其它頁(yè)面的Java代碼(源碼)加進(jìn)來(lái),跟本頁(yè)面的代碼合并在一起,相當(dāng)于把源碼從那個(gè)頁(yè)面復(fù)制到本頁(yè)面中來(lái),然后再編譯。并且由于本頁(yè)面編譯時(shí)已經(jīng)包含了別的文件的源碼,所以以后其它頁(yè)面更改時(shí),本頁(yè)面并不理會(huì),因?yàn)橐呀?jīng)編譯過(guò)了。<jsp:include>動(dòng)作是指兩個(gè)頁(yè)面的代碼運(yùn)行完以后,再把包含的那個(gè)頁(yè)面運(yùn)行后的HTML結(jié)果
16、頁(yè)面加到本頁(yè)面運(yùn)行后的HTML結(jié)果頁(yè)面中來(lái)。所以是運(yùn)行時(shí)包含,并且還可以傳遞參數(shù)給被包含的頁(yè)面。4. JSP網(wǎng)頁(yè)可以使用的特殊操作元素有哪些?其中<jsp:forward>與<jsp:param>操作元素各有什么功能?答:可使用的操作元素有<jsp:param>、<jsp:include>、<jsp:forward>、<jsp:plugin>。<jsp:forward>:可將當(dāng)前瀏覽器顯示網(wǎng)頁(yè)的網(wǎng)址,重新導(dǎo)向新的網(wǎng)址。<jsp:param>:主要用來(lái)傳遞參數(shù)給JSP程序,而由程序取得參數(shù)值。
17、0;第5章1. JSP中的內(nèi)建對(duì)象包含哪些?試簡(jiǎn)述這些對(duì)象在JSP中的主要功能。答:request:取得客戶端數(shù)據(jù)與系統(tǒng)的信息。response:響應(yīng)客戶端信息。application:記錄與處理上線者共享的數(shù)據(jù)。session:記錄與處理上線者的個(gè)別數(shù)據(jù)。out:控制數(shù)據(jù)輸出的操作。config:取得JSP編譯后Servlet的信息。pageContext:存取與處理系統(tǒng)運(yùn)行時(shí)期的各項(xiàng)信息。page:表示當(dāng)前的JSP網(wǎng)頁(yè)。2. response重定向方法sendRedirect和動(dòng)作元素<jsp:forward>的區(qū)別是什么?(1)response.sendredirect()會(huì)
18、在客戶端呈現(xiàn)跳轉(zhuǎn)后的URL地址;這種跳轉(zhuǎn)稱為客戶端跳轉(zhuǎn)。使用response.sendredirect()將重定向的URL發(fā)送到客戶端,瀏覽器再根據(jù)這個(gè)URL重新發(fā)起請(qǐng)求。所以用這個(gè)方法時(shí),你在瀏覽器地址欄上會(huì)看到新的請(qǐng)求資源的地址。并且這個(gè)時(shí)候的request,response都和第一次的不一樣了。這時(shí)是重新產(chǎn)生了新的request,response。(2)使用<jsp:forward>完全是在服務(wù)器上進(jìn)行,瀏覽器地址欄中的地址保持不變;這種跳轉(zhuǎn)稱為服務(wù)器端跳轉(zhuǎn)。所以使用這個(gè)方法時(shí)沒(méi)有產(chǎn)生新的用request,response。因?yàn)閞equest沒(méi)有變,在同一個(gè)請(qǐng)求內(nèi),可以用re
19、quest來(lái)轉(zhuǎn)遞參數(shù)。(3)response.sendRedirect()想帶參數(shù)的話,自己在地址中寫成 xxx.jsp?param1=aaa&. 這種形式傳遞參數(shù)。<jsp:forward>能夠使用<jsp:param/>標(biāo)簽向目標(biāo)文件傳送參數(shù)和值 ,目標(biāo)文件必須是一個(gè)動(dòng)態(tài)的文件,能夠處理參數(shù)。(4)<jsp:forward>后面的語(yǔ)句不會(huì)被執(zhí)行也不會(huì)繼續(xù)發(fā)送到客戶端(我:這句話怎么回事?),response.sendRedirect()后面的語(yǔ)句會(huì)繼續(xù)執(zhí)行,除非語(yǔ)句前面有return。(5)<jsp:forward>是在服務(wù)
20、器的內(nèi)部進(jìn)行轉(zhuǎn)換,只發(fā)送給客戶端最后轉(zhuǎn)到的頁(yè)面,速度會(huì)比較快;response.sendRedirect()需要服務(wù)器與客戶端之間的往返,可以轉(zhuǎn)到任何頁(yè)面,包括網(wǎng)絡(luò)有效域名。但速度比較慢。3. application與session存儲(chǔ)數(shù)據(jù)變量的方式有何區(qū)別?答:application:記錄聯(lián)機(jī)用戶共享的數(shù)據(jù)。session:記錄聯(lián)機(jī)用戶的個(gè)別數(shù)據(jù)。4. 請(qǐng)說(shuō)明session對(duì)象的生命周期在哪些狀況下會(huì)結(jié)束。答:當(dāng)以下四種情形之一發(fā)生時(shí),session與其中的數(shù)據(jù)便會(huì)消失:(1)用戶關(guān)閉當(dāng)前正在使用的瀏覽器程序。(2)關(guān)閉網(wǎng)頁(yè)服務(wù)器。(3)用戶未向服務(wù)器提出請(qǐng)求超過(guò)預(yù)設(shè)的時(shí)間,Tomcat服務(wù)
21、器預(yù)設(shè)為30分鐘。(4)運(yùn)行程序結(jié)束session。 第6章1. 請(qǐng)簡(jiǎn)述Cookie的概念與使用方式。答:Cookie為瀏覽器提供的功能,是一種可將聯(lián)機(jī)用戶的數(shù)據(jù)存儲(chǔ)在客戶端計(jì)算機(jī)上的技術(shù),要運(yùn)用Cookie必須先建立一個(gè)Cookie對(duì)象來(lái)存儲(chǔ)字符串?dāng)?shù)據(jù),再將此Cookie對(duì)象傳送到客戶端。2.查看自己計(jì)算機(jī)上Cookie文件的保存位置。瀏覽網(wǎng)頁(yè),運(yùn)行書上的例子,看是否會(huì)把信息記錄在此位置?文件是如何命名的?文件的內(nèi)容是什么?答:在默認(rèn)情況下,Cookie是隨著用戶關(guān)閉瀏覽器而自動(dòng)消失的。所以書上例子不會(huì)保存Cookie。如果在例2中我們?cè)趗singCookie.jsp中使用setM
22、axAge()方法,設(shè)置Cookie對(duì)象的存在期限。這樣Cookie對(duì)象就會(huì)保存在硬盤中的Cookies文件夾中如“C:Documents and SettingsAdministratorCookies”如文件“administratorch061.txt”。內(nèi)容是如下代碼 “namedlocalhost/ch06/1024152410470430118001411778929630117999*”3.Cookie的常見用途有哪些?(1)網(wǎng)站瀏覽人數(shù)管理 由于代理服務(wù)器、緩存等的使用,唯一能幫助網(wǎng)站精確統(tǒng)計(jì)來(lái)訪人數(shù)的方法就是為每個(gè)訪問(wèn)者建立一個(gè)唯一的ID。使用Cookie,網(wǎng)站可
23、以完成以下工作:測(cè)定多少人訪問(wèn)過(guò);測(cè)定訪問(wèn)者中有多少是新用戶(即第一次來(lái)訪),多少是老用戶;測(cè)定一個(gè)用戶多久訪問(wèn)一次網(wǎng)站。 通常情況下,網(wǎng)站設(shè)計(jì)者是借助后臺(tái)數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)以上目的的。當(dāng)用戶第一次訪問(wèn)該網(wǎng)站時(shí),網(wǎng)站在數(shù)據(jù)庫(kù)中建立一個(gè)新的ID,并把ID通過(guò)Cookie傳送給用戶。用戶再次來(lái)訪時(shí),網(wǎng)站把該用戶ID對(duì)應(yīng)的計(jì)數(shù)器加1,得到用戶的來(lái)訪次數(shù)或判斷用戶是新用戶還是老用戶。 (2)按照用戶的喜好定制網(wǎng)頁(yè)外觀 有的網(wǎng)站設(shè)計(jì)者,為用戶提供了改變網(wǎng)頁(yè)內(nèi)容、布局和顏色的權(quán)力,允許用戶輸入自己的信息,然后通過(guò)這些信息對(duì)網(wǎng)站的一些參數(shù)進(jìn)行修改,以定制網(wǎng)頁(yè)的外觀。(3)在電子商務(wù)站點(diǎn)中實(shí)現(xiàn)諸如“購(gòu)物籃”等功能
24、可以使用Cookie記錄用戶的ID,這樣當(dāng)你往“購(gòu)物籃”中放了新東西時(shí),網(wǎng)站就能記錄下來(lái),并在網(wǎng)站的數(shù)據(jù)庫(kù)里對(duì)應(yīng)著你的ID記錄當(dāng)你“買單”時(shí),網(wǎng)站通過(guò)ID檢索數(shù)據(jù)庫(kù)中你的所有選擇就能知道你的“購(gòu)物籃”里有些什么。(這里不懂)4.Cookie與session有何不同?session與Cookie同樣是用來(lái)記錄上線用戶的個(gè)別數(shù)據(jù)的,兩者的差異在于session是存在于服務(wù)器端,而Cookie則是存在于客戶端。 第7章1. 試說(shuō)明什么是JavaBean。答:JavaBean是一種特殊的Java程序,是用于包裝特定功能的程序代碼,可以被JSP網(wǎng)頁(yè)重復(fù)使用,其本身無(wú)法獨(dú)立運(yùn)行,是JSP網(wǎng)頁(yè)程序
25、組件化的核心。2. 請(qǐng)說(shuō)出如何在JSP網(wǎng)頁(yè)中載入JavaBean。A:<jsp:useBean id=id-name scope=scope-name class=class-name />3. JavaBean對(duì)象可聲明哪些不同的生命周期?答:request、session、page及applaction。(我加的:JavaBean的生命周期的有效范圍Page范圍:JavaBean的有效范圍是當(dāng)前JSP頁(yè)面request范圍:JavaBean的有效范圍是客戶請(qǐng)求期間session范圍:JavaBean的有效范圍是客戶的會(huì)話期間applaction范圍:JavaBean的有效范圍是
26、JavaBean被實(shí)例化后就一直存在,與JSP引擎相當(dāng))4. JavaBean程序除了必須要有一個(gè)無(wú)傳入值的建構(gòu)式之外,還有哪些特色?答:除了必須要有一個(gè)無(wú)傳入值的建構(gòu)式之外,還必須是一個(gè)公開的類,并以set及get開頭的方法來(lái)設(shè)置與取得屬性。5. 試說(shuō)明Get和Post方法之間的差異?答:Post和Get這兩種設(shè)置方式主要的差異在于數(shù)據(jù)的傳送方式,前者將所要傳送的數(shù)據(jù)包含在HTTP文件頭中,后者則是將數(shù)據(jù)直接串接在網(wǎng)址欄的后端,兩者都可使用GetParameter取得傳送的數(shù)據(jù)內(nèi)容。 第8章 1. import="java.io.*"2. 試說(shuō)明如何
27、利用File類進(jìn)行文件目錄的操作?答:利用File類進(jìn)行文件目錄的操作首先必需建立一個(gè)File對(duì)象,將所要操作文件或是目錄完整路徑當(dāng)作參數(shù)傳入,當(dāng)File對(duì)象建立之后,JSP網(wǎng)頁(yè)便可以利用這個(gè)對(duì)象調(diào)用File類的所有方法,以進(jìn)行各種文件目錄的操作。3. 簡(jiǎn)述文件存取操作的操作過(guò)程。答:首先利用File類建立一個(gè)參照指定文件的目錄的File實(shí)體對(duì)象,接下來(lái)利用FileWriter和FileReader這兩個(gè)類,進(jìn)行指定文件的讀寫,其中的FileWriter的write方法,負(fù)責(zé)將數(shù)據(jù)寫入文件,而FileReader的read則用來(lái)讀取文件中的數(shù)據(jù)。 第9章1) 創(chuàng)建一張學(xué)生表,包含以下
28、信息,學(xué)號(hào),姓名,年齡,性別,家庭住址,聯(lián)系電話 create table student ( 學(xué)號(hào) int, 姓名 varchar(10), 年齡 int, 性別 varchar(4), 家庭住址 varchar(50), 聯(lián)系電話 varchar(11) ); - 2) 修改學(xué)生表的結(jié)構(gòu),添加一列信息,學(xué)歷 alter table student add column 學(xué)歷 varchar(6); - 3) 修改學(xué)生表的結(jié)構(gòu),刪除一列信息,家庭住址 alter table student drop column 家庭住址;/注意此處用drop而非delete - 4) 向?qū)W生表添加如下信息
29、: 學(xué)號(hào) 姓名年齡性別聯(lián)系電話學(xué)歷 1A22男123456小學(xué) 2B21男119中學(xué) 3C23男110高中 4D18女114大學(xué) insert into student (學(xué)號(hào),姓名,年齡,性別,聯(lián)系電話,學(xué)歷) values(1,"A",22,"男","123456","小學(xué)"); insert into student (學(xué)號(hào),姓名,年齡,性別,聯(lián)系電話,學(xué)歷) values(1,"B",21,"男","119","中學(xué)"); in
30、sert into student (學(xué)號(hào),姓名,年齡,性別,聯(lián)系電話,學(xué)歷) values(1,"C",23,"男","123456","高中"); insert into student (學(xué)號(hào),姓名,年齡,性別,聯(lián)系電話,學(xué)歷) values(1,"D",23,"女","114","大學(xué)"); - 5) 修改學(xué)生表的數(shù)據(jù),將電話號(hào)碼以11開頭的學(xué)員的學(xué)歷改為“大專” update student set 學(xué)歷="大專&q
31、uot; where 聯(lián)系電話 like "11%" - 6) 刪除學(xué)生表的數(shù)據(jù),姓名以C開頭,性別為男'的記錄刪除 delete from student where 姓名 like "C" and 性別="男" - 7) 查詢學(xué)生表的數(shù)據(jù),將所有年齡小于22歲的,學(xué)歷為“大?!钡?,學(xué)生的姓名和學(xué)號(hào)示出來(lái) select 姓名,學(xué)號(hào) from student where 年齡<22 and 學(xué)歷="大專" - 8) 查詢學(xué)生表的數(shù)據(jù),查詢所有信息,列出前25%的記錄 select top 25 per
32、cent * from student ; ? select * from student limit 25%;? 這條有問(wèn)題,在sql 2000中應(yīng)該是select top 25 percent * from student ; - 9) 查詢出所有學(xué)生的姓名,性別,年齡降序排列 select 姓名,性別,年齡 from student order by 年齡 desc; - 10) 按照性別分組查詢所有的平均年齡 select avg(年齡) as 平均年齡 from student group by 性別; select avg(年齡) from student group by 性別;
33、 select avg(年齡) 平均年齡 from student group by 性別; 第10章1. 說(shuō)明Statement與ResultSet接口的意義,以及這兩個(gè)生成的對(duì)象在JSP程序處理數(shù)據(jù)庫(kù)時(shí),分別扮演著什么樣的角色?答:Statement:Statement接口中主要是提供了一些SQL運(yùn)行的方法,以及設(shè)置運(yùn)行SQL后所返回ResultSet類型對(duì)象的屬性。由此接口所生成的對(duì)象在JSP中同樣是用來(lái)運(yùn)行各種SQL指令與設(shè)置Resultset對(duì)象的屬性。ResultSet:ResultSet接口下所定義的方法大都是用來(lái)控制ResultSet對(duì)象中指針的移動(dòng)的,以取得其中的
34、數(shù)據(jù)元素。2. 試列舉說(shuō)明Statement運(yùn)行SQL指令的3種方法成員。答:execute():運(yùn)行一般SQL指令,例如建立數(shù)據(jù)庫(kù)、修改數(shù)據(jù)表等等。executeQuery():運(yùn)行以SELECT語(yǔ)句開頭的描述,這個(gè)方法同時(shí)返回一個(gè)包含查看結(jié)果的ResultSet對(duì)象。executeUpdate():修改數(shù)據(jù)表內(nèi)容,例如新增、刪除與修改數(shù)據(jù)等。3. 說(shuō)明如何一次運(yùn)行多段SQL語(yǔ)句。答:首先建立一個(gè)Statement對(duì)象,將多個(gè)想要運(yùn)行的SQL指令以addBatch()方法加到批處理文檔中,最后引用executeBacth()方法運(yùn)行。(外加的:)JSP中連接MS SQL Server 數(shù)據(jù)庫(kù)
35、兩種方法都需要先導(dǎo)入包:java.sql.*<% page import="java.sql.*" %>1、通過(guò)JDBC-ODBC橋 1)創(chuàng)建ODBC數(shù)據(jù)源 2)加載驅(qū)動(dòng) Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 3)連接數(shù)據(jù)庫(kù) Connection con = DriverManager.getConnection("jdbc:odbc:數(shù)據(jù)源名稱","用戶名","密碼");
36、60;4)創(chuàng)建Statement實(shí)例向數(shù)據(jù)庫(kù)發(fā)送SQL指令 Statement stmt=con.createStatement(); 5)返回結(jié)果一般存放在記錄集(ResultSet)中 a)查詢 ResultSet rs=stmt.executeQuery("SELECT * FROM TB_CustomersInfo"); b)更新 stmt.executeUpdate("update tb_customersinfo set ci_gender=1
37、where ci_name='張三'"); 6)關(guān)閉記錄集、關(guān)閉Statement實(shí)例對(duì)象、關(guān)閉數(shù)據(jù)庫(kù)連接 rs.close(); stmt.close(); con.close();2、通過(guò)Java數(shù)據(jù)庫(kù)驅(qū)動(dòng)連接 1)安裝相應(yīng)的數(shù)據(jù)庫(kù)驅(qū)動(dòng),安裝方法參見: http:/localhost/forum/Course.aspx?id=201102 2)加載驅(qū)動(dòng) Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver&qu
38、ot;); 3)連接數(shù)據(jù)庫(kù) String uri= "jdbc:sqlserver:/;DatabaseName=zywebsitedb" String user="zysa" String password="qwer!#$" Connection con=DriverManager.getConnection(uri,user,password); 4)創(chuàng)建Statement實(shí)例向數(shù)據(jù)庫(kù)發(fā)送SQL指令 Statement stmt=con.cr
39、eateStatement(); 5)返回結(jié)果一般存放在記錄集(ResultSet)中 a)查詢 ResultSet rs=stmt.executeQuery("SELECT * FROM TB_CustomersInfo"); b)更新 stmt.executeUpdate("update tb_customersinfo set ci_gender=1 where ci_name='張三'"); 6)關(guān)閉記錄集、關(guān)閉Statem
40、ent實(shí)例對(duì)象、關(guān)閉數(shù)據(jù)庫(kù)連接 rs.close(); stmt.close(); con.close();第12章 Servlet基礎(chǔ) 1.簡(jiǎn)述Servlet和JSP的關(guān)系。答:Servlet是服務(wù)器端運(yùn)行的一種Java應(yīng)用程序。當(dāng)瀏覽器端有請(qǐng)求則將其結(jié)果傳遞給瀏覽器。在JSP中使用到的所有對(duì)象都將被轉(zhuǎn)換為Servlet或者非Servlet的Java對(duì)象,然后被執(zhí)行,所以執(zhí)行JSP實(shí)際上與執(zhí)行Servlet是一樣的。 2.簡(jiǎn)述Servlet的生命周期。答:Servlet的生命周期可分為下面幾個(gè)階段:(1)裝載Servlet。(2)實(shí)例化一個(gè)
41、Servlet實(shí)例對(duì)象。(3)調(diào)用Servlet的init( )方法進(jìn)行初始化。(4)服務(wù)。(5)卸載。 3.簡(jiǎn)述HttpSession接口的功能和使用方法。答:.HttpSession接口是Servlet提供會(huì)話追蹤解決方案。 HttpSession對(duì)象存放在服務(wù)器端,只是對(duì)cookie和url重寫技術(shù)的封裝應(yīng)用。使用HttpSession進(jìn)行會(huì)話控制的過(guò)程:(1)獲得一個(gè)HttpSession實(shí)例對(duì)象;(2)訪問(wèn)和設(shè)置與會(huì)話相關(guān)聯(lián)信息,維護(hù)會(huì)話的狀態(tài);(3)廢棄會(huì)話數(shù)據(jù)。 4.簡(jiǎn)述開發(fā)一個(gè)Servlet所需要的步驟。答:第一步:編寫Servlet實(shí)例第二步:在web.x
42、ml文件中配置該Servlet第三步:編寫其它文件 5.編寫一個(gè)html頁(yè)面和一個(gè)Servelt,實(shí)現(xiàn)利用Servelt的doPost方法讀取html文件中Form表單內(nèi)容。答: 參考12.6.26.寫一個(gè)利用HttpSession接口的用戶登錄的Servlet,當(dāng)用戶已經(jīng)登錄時(shí),返回歡迎信息;否則轉(zhuǎn)向登錄頁(yè)面。答:第一步:編寫Servlet實(shí)例SessionServlet.java所示。package com; import java.io.*;import java.util.*;import javax.servlet.*;import javax.serv
43、let.http.*; /* * * 使用HttpSession管理會(huì)話的登錄Servlet */public class LoginServlet extends HttpServlet protected void doGet(HttpServletRequest request,
44、60; HttpServletResponse response) throws ServletException, IOException doPost(request, response);
45、0; protected void doPost(HttpServletRequest request, &
46、#160; HttpServletResponse response) throws ServletException, IOException response.setContentType("text/html;charset=GB2312");
47、160; PrintWriter out = response.getWriter(); out.println("<html>"); &
48、#160; out.println("<body>"); out.println("<head>"); &
49、#160; out.println("<title>使用HttpSession管理會(huì)話的登錄頁(yè)面</title>"); out.println("</head>");
50、; out.println("<body>"); / 獲取會(huì)話對(duì)象
51、; HttpSession session = request.getSession(); / 從會(huì)話對(duì)象中讀取數(shù)據(jù)
52、160; Boolean isLogin = (Boolean) session.getAttribute("isLogin"); if (isLogin = null)
53、 isLogin = Boolean.FALSE;
54、0; String user = request.getParameter("user"); String password = request.getParameter("pass");
55、 if (isLogin.booleanValue() / 從會(huì)話對(duì)象中讀取數(shù)據(jù) &
56、#160; user = (String) session.getAttribute("user");
57、; Date loginTime = new Date(session.getCreationTime(); out.println
58、("<h2>歡迎您," + user + "!</h2>"); out.println("<h2>您的登錄時(shí)間是:" + loginTime + "!</h2>
59、;"); else if (user != null) && (password != null)
60、60; / 在會(huì)話對(duì)象中保存數(shù)據(jù) session.setAttribute("user", user);
61、0; session.setAttribute("isLogin", Boolean.TRUE); &
62、#160; Date loginTime = new Date(session.getCreationTime(); out.println("<h2>歡迎您," + us
63、er + "!</h2>"); out.println("<h2>您的登錄時(shí)間是:" + loginTime + "!</h2>");
64、; else out.println("<h2>請(qǐng)?jiān)谙旅孑斎氲卿浶畔?lt;/h2&
65、gt;"); out.println("<form method="post" action="login">");
66、60; out.println("<table>");
67、; out.println("<tr>"); out.println("<td>用戶名:</td>");
68、 out.println("<td><input name="user" type="text"></td>");
69、60; out.println("</tr>"); &
70、#160; out.println("<tr>"); out.println("<td>密碼:</td>");
71、60; out.println("<td><input name="pass" type="password"></td>");
72、160; out.println("</tr>");
73、 out.println("<tr>"); out.println("<td></td>");
74、; out.println("<td><input name="ok" type="submit" value="確定">");
75、0; out.println("<input name="cancel" type="reset" value="重置"></td>");
76、; out.println("</tr>"); out.println("&l
77、t;/table>"); out.println("</form>");
78、 out.println("</body>"); out.pr
79、intln("</html>"); 第二步:在web.xml文件中配置該Servlet<web-app> <!- ServerInfoServlet definition ->
80、60; <servlet> <description></description> &
81、#160; <display-name>getSession</display-name> <servlet-name> getSession </servlet-name> <servl
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年包頭輕工職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性考試題庫(kù)學(xué)生專用
- 2025年農(nóng)業(yè)合作社成員股權(quán)重組策劃合同書
- 2025年臨時(shí)快遞員服務(wù)合同范文
- 2025年不銹鋼欄桿加工與裝配合同樣本
- 2025年貸款代理合同范例
- 2025年城市軌道交通鋪軌施工項(xiàng)目合同書
- 2025年建筑項(xiàng)目管理與協(xié)調(diào)合同標(biāo)準(zhǔn)
- 2025年快遞業(yè)務(wù)協(xié)同發(fā)展合作協(xié)議
- 2025年兄弟姐妹共同股權(quán)轉(zhuǎn)讓協(xié)議
- 2025年雙胞胎父母離婚協(xié)議書
- 高速公路改擴(kuò)建工程路基標(biāo)準(zhǔn)化
- 海關(guān)監(jiān)管場(chǎng)所投資建設(shè)項(xiàng)目可行性研究報(bào)告-廣州中撰咨詢
- 六氟化硫(SF6)氣體的管理及充注質(zhì)量檢查表
- 一年級(jí)勞動(dòng)課教案設(shè)計(jì)
- Windows Azure云平臺(tái)基本操作手冊(cè)
- 中南大學(xué)-鋼結(jié)構(gòu)門式鋼架廠房畢業(yè)設(shè)計(jì)
- 百家姓精品資源課件
- 醫(yī)院感染控制原則
- T∕ASC 17-2021 電動(dòng)汽車充換電設(shè)施系統(tǒng)設(shè)計(jì)標(biāo)準(zhǔn)
- 水閘設(shè)計(jì)步驟計(jì)算書(多表)
- 智慧安監(jiān)重大危險(xiǎn)源監(jiān)管平臺(tái)解決方案
評(píng)論
0/150
提交評(píng)論