




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、課后習(xí)題答案第1章1.什么是靜態(tài)網(wǎng)頁?什么是動態(tài)網(wǎng)頁?兩者的區(qū)別是什么?試舉例說明。答:在網(wǎng)站設(shè)計中,純粹HTML格式的網(wǎng)頁通常被稱為“靜態(tài)網(wǎng)頁”,早期的網(wǎng)站一般都是由靜態(tài)網(wǎng)頁制作的。靜態(tài)網(wǎng)頁是相對于動態(tài)網(wǎng)頁而言,是指沒有后臺數(shù)據(jù)庫、不含程序和不可交互的網(wǎng)頁。你編的是什么它顯示的就是什么、不會有任何改變。靜態(tài)網(wǎng)頁相對更新起來比較麻煩,適用于一般更新較少的展示型網(wǎng)站。靜態(tài)網(wǎng)頁的網(wǎng)址形式通常為: 我們將靜態(tài)網(wǎng)頁的特點簡要歸納如下:(1)靜態(tài)網(wǎng)頁每個網(wǎng)頁都有一個固定的URL,且網(wǎng)頁URL以.htm、.html、.shtml等常見形式為后綴,而不含有“?”; (2)網(wǎng)頁內(nèi)容一經(jīng)發(fā)布到網(wǎng)站服務(wù)器上,無論
2、是否有用戶訪問,每個靜態(tài)網(wǎng)頁的內(nèi)容都是保存在網(wǎng)站服務(wù)器上的,也就是說,靜態(tài)網(wǎng)頁是實實在在保存在服務(wù)器上的文件,每個網(wǎng)頁都是一個獨立的文件;(3)靜態(tài)網(wǎng)頁的內(nèi)容相對穩(wěn)定,因此容易被搜索引擎檢索;(4)靜態(tài)網(wǎng)頁沒有數(shù)據(jù)庫的支持,在網(wǎng)站制作和維護方面工作量較大,因此當(dāng)網(wǎng)站信息量很大時完全依靠靜態(tài)網(wǎng)頁制作方式比較困難;(5)靜態(tài)網(wǎng)頁的交互性交叉,在功能方面有較大的限制 動態(tài)網(wǎng)頁是與靜態(tài)網(wǎng)頁相對應(yīng)的,也就是說,網(wǎng)頁 URL的后綴不是.htm、.html、.shtml、.xml等靜態(tài)網(wǎng)頁的常見形式,而是以.asp、.jsp、.php、.perl、.cgi等形式為后綴,并且在動態(tài)網(wǎng)頁網(wǎng)址中有一個標(biāo)志性的符號
3、“?”,如有這樣一個動態(tài)網(wǎng)頁的地址為:我們將動態(tài)網(wǎng)頁的一般特點簡要歸納如下:(1)動態(tài)網(wǎng)頁以數(shù)據(jù)庫技術(shù)為基礎(chǔ),可以大大降低網(wǎng)站維護的工作量;(2)采用動態(tài)網(wǎng)頁技術(shù)的網(wǎng)站可以實現(xiàn)更多的功能,如用戶注冊、用戶登錄、在線調(diào)查、用戶管理、訂單管理等等;(3)動態(tài)網(wǎng)頁實際上并不是獨立存在于服務(wù)器上的網(wǎng)頁文件,只有當(dāng)用戶請求時服務(wù)器才返回一個完整的網(wǎng)頁;(4)動態(tài)網(wǎng)頁中的“?”對搜索引擎檢索存在一定的問題,搜索引擎一般不可能從一個網(wǎng)站的數(shù)據(jù)庫中訪問全部網(wǎng)頁,或者出于技術(shù)方面的考慮,搜索蜘蛛不去抓取網(wǎng)址中“?”后面的內(nèi)容,因此采用動態(tài)網(wǎng)頁的網(wǎng)站在進行搜索引擎推廣時需要做一定的技術(shù)處理才能適應(yīng)搜索引擎的要求。
4、靜態(tài)網(wǎng)頁與動態(tài)的區(qū)別 (我加的:看看)程序是否在服務(wù)器端運行,是重要標(biāo)志。在服務(wù)器端運行的程序、網(wǎng)頁、組件,屬于動態(tài)網(wǎng)頁,它們會隨不同客戶、不同時間,返回不同的網(wǎng)頁,例如ASP、PHP、JSP、ASP.net、CGI等。運行于客戶端的程序、網(wǎng)頁、插件、組件,屬于靜態(tài)網(wǎng)頁,例如html頁、Flash、JavaScript、VBScript等等,它們是永遠(yuǎn)不變的。 2. 什么是B/S模式?什么是C/S模式?試舉例說明。(我加的:B/S 結(jié)構(gòu)(Browser/Server 結(jié)構(gòu))結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu))答:即瀏覽器服務(wù)器結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對CS結(jié)構(gòu)的一種變化或者改進的結(jié)構(gòu)。
5、在這種結(jié)構(gòu)下,用戶工作界面通過瀏覽器來實現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實現(xiàn),主要事務(wù)邏輯在服務(wù)器端(Server)實現(xiàn),形成所謂三層結(jié)構(gòu)。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護與升級的成本和工作量,降低了用戶的總體成本??蛻魴C上只要安裝一個瀏覽器(Browser),如Netscape Navigator或Internet Explorer,服務(wù)器安裝Oracle、Sybase、Informix或 SQL Server等數(shù)據(jù)庫。瀏覽器通過Web Server 同數(shù)據(jù)庫進行數(shù)據(jù)交互。這種模式,我們通常將其成為瘦客戶端模式。典型的系統(tǒng):網(wǎng)上銀行、網(wǎng)上書店、Blog等等客戶機/服
6、務(wù)器(Client/Server,C/S)模式即客戶機和服務(wù)器結(jié)構(gòu)。這種體系結(jié)構(gòu)模式是以數(shù)據(jù)庫服務(wù)器為中心、以客戶機為網(wǎng)絡(luò)基礎(chǔ)、在信息系統(tǒng)軟件支持下的兩層結(jié)構(gòu)模型。這種體系結(jié)構(gòu)中,用戶操作模塊布置在客戶機上,數(shù)據(jù)存儲在服務(wù)器上的數(shù)據(jù)庫中??蛻魴C依靠服務(wù)器獲得所需要的網(wǎng)絡(luò)資源,而服務(wù)器為客戶機提供網(wǎng)絡(luò)必須的資源。目前大多數(shù)信息系統(tǒng)是采用ClientServer結(jié)構(gòu)。服務(wù)器通常采用高性能的PC、工作站或小型機,并采用大型數(shù)據(jù)庫系統(tǒng),如Oracle、Sybase、Informix或 SQL Server??蛻舳诵枰惭b專用的客戶端軟件。 這種模式我們也通常成為胖客戶端模式。典型的系統(tǒng):QQ、MSN3
7、. 什么是JSP?與ASP、PHP、ASP.NET相比,JSP(我加的:動態(tài)頁面)有哪些優(yōu)點?答:JSP(Java Server Pages)是由Sun Microsystems公司倡導(dǎo)的、許多公司參與一起建立的一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)是用Java語言作為腳本語言的,JSP網(wǎng)頁為整個服務(wù)器端的JAVA庫單元提供了一個接口來服務(wù)于HTTP的應(yīng)用程序。JSP不像CGI,ISAPI和NSAPI那樣難于編寫和維護,不像PHP那樣只能適應(yīng)中小流量的網(wǎng)站,也不像ASP那樣受到跨平臺的限制(只能運行于Microsoft公司開發(fā)的IIS和PWS上)。JSP體現(xiàn)了當(dāng)今最先進的網(wǎng)站開發(fā)思想,和其他Web開
8、發(fā)工具相比,JSP有著它自己強大的優(yōu)勢。程序可以跨臺平執(zhí)行。JSP可以讓開發(fā)人員在任意環(huán)境中進行開發(fā),在任意環(huán)境中進行系統(tǒng)部署,在任意環(huán)境中擴展應(yīng)用程序。多樣化和功能強大的開發(fā)工具支持。Java有許多非常優(yōu)秀的開發(fā)工具,而且有許多可以免費得到,并且其中的許多已經(jīng)可以順利地運行于多種平臺之下。強大的可伸縮性。從只有一個小的jar文件就可以運行servlet/jsp到由多臺服務(wù)器進行集群和負(fù)載均衡,到多臺Application進行事務(wù)處理,一臺服務(wù)器到無數(shù)臺服務(wù)器,Java顯示了巨大的生命力。4. JSP、Java和JavaScript有什么區(qū)別與聯(lián)系?答:JAVASCRIPT從其名稱含義是JAV
9、A腳本,是在瀏覽器中運行的腳本語言,由于其大部分語法規(guī)范取自于JAVA語法規(guī)范,所以取名為JAVASCRIPT。JAVASCRIPT是一門基于對象的弱類型腳本編程語言,主要用來制作網(wǎng)頁前臺的技術(shù)。并且是現(xiàn)在比較熱門的AJAX技術(shù)的核心。JSP是JAVA SERVER PAGE的首字母縮寫,顧名思義,是JAVA的服務(wù)端頁面,其動態(tài)語法部分完全是JAVA規(guī)范。JSP是基于Java的技術(shù),用于創(chuàng)建可支持跨平臺及Web服務(wù)器的動態(tài)網(wǎng)頁。從構(gòu)成情況上來看,JSP頁面代碼一般由普通的HTML語句和特殊的基于Java語言的嵌入標(biāo)記組成,所以它具有了Web和Java功能的雙重特性。JSP是和ASP,PHP一樣
10、的服務(wù)器端語言,主要用來制作網(wǎng)站后臺的技術(shù)。JAVA是和C/C+一個等級的強類型編程語言,是純面向?qū)ο蟮?比起JSP和JAVASCRIPT要復(fù)雜的多。一般學(xué)好JAVA就能很容易轉(zhuǎn)向其他兩門語言??偨Y(jié):JSP是JAVA技術(shù)的其中之一,所以學(xué)好了JAVA過渡到JSP從編程角度來講比較容易,學(xué)好JSP以后要想學(xué)好JAVA,就還要學(xué)習(xí)更多的JAVA方面的東西,比如JAVABEAN,企業(yè)級應(yīng)用等等。JAVASCRIPT嚴(yán)格來講,除了語法參照了JAVA語法規(guī)范外,和JAVA毫無關(guān)系,所以兩者之間只是語法規(guī)范類似,相互之間的過渡就只有語法能夠參照,其他的都得分別去了解,JAVASCRIPT是過程式語言,JA
11、VA則是面向?qū)ο蟮摹?#160;第2章1. 什么是 HTML 語言? HTML文件有什么特征?答:HTML是超文本標(biāo)記語言(Hypertext Mark-up Language)的縮寫,主要用來創(chuàng)建與系統(tǒng)平臺無關(guān)的網(wǎng)頁文檔。它是目前網(wǎng)絡(luò)上應(yīng)用最為廣泛的語言,也是構(gòu)成網(wǎng)頁文檔的主要語言,它不是編程語言,而是一種描述性的標(biāo)記(標(biāo)簽)語言。HTML文件是純文本文件,是由HTML命令組成的描述性文本,HTML命令可以說明文字、圖形、動畫、聲音、表格、鏈接等。HTML文件能用任意的文本編輯器編輯,如:記事本、寫字板、Word等,也可以使用所見即所得的編輯器來編輯HTML文件,如Dreamweaver等。
12、2. 什么是JavaScript?答:JavaScript是由Netscape公司開發(fā)的一種網(wǎng)頁的腳本編程語言,它支持客戶端與服務(wù)器端的應(yīng)用程序以及構(gòu)件的開發(fā)。JavaScript是一種解釋性的語言,它的基本結(jié)構(gòu)形式與其他編程語言相似,需要先編譯后執(zhí)行。JavaScript是適應(yīng)動態(tài)網(wǎng)頁制作的需要而誕生的一種新的編程語言,如今越來越廣泛地使用于Internet網(wǎng)頁制作上。在HTML基礎(chǔ)上,使用Javascript可以開發(fā)交互式Web網(wǎng)頁。JavaScript的出現(xiàn)使得網(wǎng)頁和用戶之間實現(xiàn)了一種實時性的、動態(tài)的、交互性的關(guān)系,使網(wǎng)頁包含更多活躍的元素和更加精彩的內(nèi)容。3. 簡述HTML和JavaS
13、cript在JSP動態(tài)網(wǎng)頁中所扮演的角色。答:要使用JSP開發(fā)出專業(yè)的動態(tài)網(wǎng)站,首先必須熟練掌握靜態(tài)網(wǎng)站的制作技術(shù)。HTML是在學(xué)習(xí)JSP之前必須了解的基礎(chǔ)知識,很多JSP語法的使用都是建立在HTML文檔的基礎(chǔ)上。實際開發(fā)中,一般都是使用現(xiàn)成的HTML文檔來添加JSP的動態(tài)腳本并做適當(dāng)修改,除了特殊的應(yīng)用,很少從零開始寫一個JSP頁面,所以讀懂HTML文檔并了解HMTL語言中的技巧為更快地上手JSP提供了很大的幫助。JavaScript是JSP知識體系中一個可選的知識模塊。也就是說不了解JavaScript知識也不會影響JSP的應(yīng)用開發(fā),但是如果掌握了JavaScript的知識,將可以更加方便
14、地解決網(wǎng)頁開發(fā)中的某些特定問題,例如經(jīng)常使用JavaScript判斷用戶在表單中輸入數(shù)據(jù)的合法性。第3章無第4章1.如何在HTML網(wǎng)頁中嵌入JSP程序代碼?怎樣來定義JSP中的聲明區(qū)與程序區(qū)?答:在JSP網(wǎng)頁中必須于<%與%>符號間嵌入程序代碼。JSP聲明的語法格式為:<%! declaration; declaration; . %> 或<%! 聲明; 聲明; . %>腳本代碼的語法格式如下:<% code fragment %> 或<% 代碼 %>2.請說明JSP中有哪3個指令元素,以及這3個指令的主要用途。答:page指令:可用
15、來設(shè)置JSP網(wǎng)頁的特性,如編碼方式、引用類、緩沖區(qū)等。include指令:可用來將HTML、文本文件或者JSP程序加載當(dāng)前的JSP網(wǎng)頁。taglib指令:可用來引用一個自定義的標(biāo)簽庫。3.JSP中include指令與include動作的區(qū)別?答:include指令是指把其它頁面的Java代碼(源碼)加進來,跟本頁面的代碼合并在一起,相當(dāng)于把源碼從那個頁面復(fù)制到本頁面中來,然后再編譯。并且由于本頁面編譯時已經(jīng)包含了別的文件的源碼,所以以后其它頁面更改時,本頁面并不理會,因為已經(jīng)編譯過了。<jsp:include>動作是指兩個頁面的代碼運行完以后,再把包含的那個頁面運行后的HTML結(jié)果
16、頁面加到本頁面運行后的HTML結(jié)果頁面中來。所以是運行時包含,并且還可以傳遞參數(shù)給被包含的頁面。4. JSP網(wǎng)頁可以使用的特殊操作元素有哪些?其中<jsp:forward>與<jsp:param>操作元素各有什么功能?答:可使用的操作元素有<jsp:param>、<jsp:include>、<jsp:forward>、<jsp:plugin>。<jsp:forward>:可將當(dāng)前瀏覽器顯示網(wǎng)頁的網(wǎng)址,重新導(dǎo)向新的網(wǎng)址。<jsp:param>:主要用來傳遞參數(shù)給JSP程序,而由程序取得參數(shù)值。
17、0;第5章1. JSP中的內(nèi)建對象包含哪些?試簡述這些對象在JSP中的主要功能。答:request:取得客戶端數(shù)據(jù)與系統(tǒng)的信息。response:響應(yīng)客戶端信息。application:記錄與處理上線者共享的數(shù)據(jù)。session:記錄與處理上線者的個別數(shù)據(jù)。out:控制數(shù)據(jù)輸出的操作。config:取得JSP編譯后Servlet的信息。pageContext:存取與處理系統(tǒng)運行時期的各項信息。page:表示當(dāng)前的JSP網(wǎng)頁。2. response重定向方法sendRedirect和動作元素<jsp:forward>的區(qū)別是什么?(1)response.sendredirect()會
18、在客戶端呈現(xiàn)跳轉(zhuǎn)后的URL地址;這種跳轉(zhuǎn)稱為客戶端跳轉(zhuǎn)。使用response.sendredirect()將重定向的URL發(fā)送到客戶端,瀏覽器再根據(jù)這個URL重新發(fā)起請求。所以用這個方法時,你在瀏覽器地址欄上會看到新的請求資源的地址。并且這個時候的request,response都和第一次的不一樣了。這時是重新產(chǎn)生了新的request,response。(2)使用<jsp:forward>完全是在服務(wù)器上進行,瀏覽器地址欄中的地址保持不變;這種跳轉(zhuǎn)稱為服務(wù)器端跳轉(zhuǎn)。所以使用這個方法時沒有產(chǎn)生新的用request,response。因為request沒有變,在同一個請求內(nèi),可以用re
19、quest來轉(zhuǎn)遞參數(shù)。(3)response.sendRedirect()想帶參數(shù)的話,自己在地址中寫成 xxx.jsp?param1=aaa&. 這種形式傳遞參數(shù)。<jsp:forward>能夠使用<jsp:param/>標(biāo)簽向目標(biāo)文件傳送參數(shù)和值 ,目標(biāo)文件必須是一個動態(tài)的文件,能夠處理參數(shù)。(4)<jsp:forward>后面的語句不會被執(zhí)行也不會繼續(xù)發(fā)送到客戶端(我:這句話怎么回事?),response.sendRedirect()后面的語句會繼續(xù)執(zhí)行,除非語句前面有return。(5)<jsp:forward>是在服務(wù)
20、器的內(nèi)部進行轉(zhuǎn)換,只發(fā)送給客戶端最后轉(zhuǎn)到的頁面,速度會比較快;response.sendRedirect()需要服務(wù)器與客戶端之間的往返,可以轉(zhuǎn)到任何頁面,包括網(wǎng)絡(luò)有效域名。但速度比較慢。3. application與session存儲數(shù)據(jù)變量的方式有何區(qū)別?答:application:記錄聯(lián)機用戶共享的數(shù)據(jù)。session:記錄聯(lián)機用戶的個別數(shù)據(jù)。4. 請說明session對象的生命周期在哪些狀況下會結(jié)束。答:當(dāng)以下四種情形之一發(fā)生時,session與其中的數(shù)據(jù)便會消失:(1)用戶關(guān)閉當(dāng)前正在使用的瀏覽器程序。(2)關(guān)閉網(wǎng)頁服務(wù)器。(3)用戶未向服務(wù)器提出請求超過預(yù)設(shè)的時間,Tomcat服務(wù)
21、器預(yù)設(shè)為30分鐘。(4)運行程序結(jié)束session。 第6章1. 請簡述Cookie的概念與使用方式。答:Cookie為瀏覽器提供的功能,是一種可將聯(lián)機用戶的數(shù)據(jù)存儲在客戶端計算機上的技術(shù),要運用Cookie必須先建立一個Cookie對象來存儲字符串?dāng)?shù)據(jù),再將此Cookie對象傳送到客戶端。2.查看自己計算機上Cookie文件的保存位置。瀏覽網(wǎng)頁,運行書上的例子,看是否會把信息記錄在此位置?文件是如何命名的?文件的內(nèi)容是什么?答:在默認(rèn)情況下,Cookie是隨著用戶關(guān)閉瀏覽器而自動消失的。所以書上例子不會保存Cookie。如果在例2中我們在usingCookie.jsp中使用setM
22、axAge()方法,設(shè)置Cookie對象的存在期限。這樣Cookie對象就會保存在硬盤中的Cookies文件夾中如“C:Documents and SettingsAdministratorCookies”如文件“administratorch061.txt”。內(nèi)容是如下代碼 “namedlocalhost/ch06/1024152410470430118001411778929630117999*”3.Cookie的常見用途有哪些?(1)網(wǎng)站瀏覽人數(shù)管理 由于代理服務(wù)器、緩存等的使用,唯一能幫助網(wǎng)站精確統(tǒng)計來訪人數(shù)的方法就是為每個訪問者建立一個唯一的ID。使用Cookie,網(wǎng)站可
23、以完成以下工作:測定多少人訪問過;測定訪問者中有多少是新用戶(即第一次來訪),多少是老用戶;測定一個用戶多久訪問一次網(wǎng)站。 通常情況下,網(wǎng)站設(shè)計者是借助后臺數(shù)據(jù)庫來實現(xiàn)以上目的的。當(dāng)用戶第一次訪問該網(wǎng)站時,網(wǎng)站在數(shù)據(jù)庫中建立一個新的ID,并把ID通過Cookie傳送給用戶。用戶再次來訪時,網(wǎng)站把該用戶ID對應(yīng)的計數(shù)器加1,得到用戶的來訪次數(shù)或判斷用戶是新用戶還是老用戶。 (2)按照用戶的喜好定制網(wǎng)頁外觀 有的網(wǎng)站設(shè)計者,為用戶提供了改變網(wǎng)頁內(nèi)容、布局和顏色的權(quán)力,允許用戶輸入自己的信息,然后通過這些信息對網(wǎng)站的一些參數(shù)進行修改,以定制網(wǎng)頁的外觀。(3)在電子商務(wù)站點中實現(xiàn)諸如“購物籃”等功能
24、可以使用Cookie記錄用戶的ID,這樣當(dāng)你往“購物籃”中放了新東西時,網(wǎng)站就能記錄下來,并在網(wǎng)站的數(shù)據(jù)庫里對應(yīng)著你的ID記錄當(dāng)你“買單”時,網(wǎng)站通過ID檢索數(shù)據(jù)庫中你的所有選擇就能知道你的“購物籃”里有些什么。(這里不懂)4.Cookie與session有何不同?session與Cookie同樣是用來記錄上線用戶的個別數(shù)據(jù)的,兩者的差異在于session是存在于服務(wù)器端,而Cookie則是存在于客戶端。 第7章1. 試說明什么是JavaBean。答:JavaBean是一種特殊的Java程序,是用于包裝特定功能的程序代碼,可以被JSP網(wǎng)頁重復(fù)使用,其本身無法獨立運行,是JSP網(wǎng)頁程序
25、組件化的核心。2. 請說出如何在JSP網(wǎng)頁中載入JavaBean。A:<jsp:useBean id=id-name scope=scope-name class=class-name />3. JavaBean對象可聲明哪些不同的生命周期?答:request、session、page及applaction。(我加的:JavaBean的生命周期的有效范圍Page范圍:JavaBean的有效范圍是當(dāng)前JSP頁面request范圍:JavaBean的有效范圍是客戶請求期間session范圍:JavaBean的有效范圍是客戶的會話期間applaction范圍:JavaBean的有效范圍是
26、JavaBean被實例化后就一直存在,與JSP引擎相當(dāng))4. JavaBean程序除了必須要有一個無傳入值的建構(gòu)式之外,還有哪些特色?答:除了必須要有一個無傳入值的建構(gòu)式之外,還必須是一個公開的類,并以set及get開頭的方法來設(shè)置與取得屬性。5. 試說明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. 試說明如何
27、利用File類進行文件目錄的操作?答:利用File類進行文件目錄的操作首先必需建立一個File對象,將所要操作文件或是目錄完整路徑當(dāng)作參數(shù)傳入,當(dāng)File對象建立之后,JSP網(wǎng)頁便可以利用這個對象調(diào)用File類的所有方法,以進行各種文件目錄的操作。3. 簡述文件存取操作的操作過程。答:首先利用File類建立一個參照指定文件的目錄的File實體對象,接下來利用FileWriter和FileReader這兩個類,進行指定文件的讀寫,其中的FileWriter的write方法,負(fù)責(zé)將數(shù)據(jù)寫入文件,而FileReader的read則用來讀取文件中的數(shù)據(jù)。 第9章1) 創(chuàng)建一張學(xué)生表,包含以下
28、信息,學(xué)號,姓名,年齡,性別,家庭住址,聯(lián)系電話 create table student ( 學(xué)號 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é)號 姓名年齡性別聯(lián)系電話學(xué)歷 1A22男123456小學(xué) 2B21男119中學(xué) 3C23男110高中 4D18女114大學(xué) insert into student (學(xué)號,姓名,年齡,性別,聯(lián)系電話,學(xué)歷) values(1,"A",22,"男","123456","小學(xué)"); insert into student (學(xué)號,姓名,年齡,性別,聯(lián)系電話,學(xué)歷) values(1,"B",21,"男","119","中學(xué)"); in
30、sert into student (學(xué)號,姓名,年齡,性別,聯(lián)系電話,學(xué)歷) values(1,"C",23,"男","123456","高中"); insert into student (學(xué)號,姓名,年齡,性別,聯(lián)系電話,學(xué)歷) values(1,"D",23,"女","114","大學(xué)"); - 5) 修改學(xué)生表的數(shù)據(jù),將電話號碼以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é)號示出來 select 姓名,學(xué)號 from student where 年齡<22 and 學(xué)歷="大專" - 8) 查詢學(xué)生表的數(shù)據(jù),查詢所有信息,列出前25%的記錄 select top 25 per
32、cent * from student ; ? select * from student limit 25%;? 這條有問題,在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. 說明Statement與ResultSet接口的意義,以及這兩個生成的對象在JSP程序處理數(shù)據(jù)庫時,分別扮演著什么樣的角色?答:Statement:Statement接口中主要是提供了一些SQL運行的方法,以及設(shè)置運行SQL后所返回ResultSet類型對象的屬性。由此接口所生成的對象在JSP中同樣是用來運行各種SQL指令與設(shè)置Resultset對象的屬性。ResultSet:ResultSet接口下所定義的方法大都是用來控制ResultSet對象中指針的移動的,以取得其中的
34、數(shù)據(jù)元素。2. 試列舉說明Statement運行SQL指令的3種方法成員。答:execute():運行一般SQL指令,例如建立數(shù)據(jù)庫、修改數(shù)據(jù)表等等。executeQuery():運行以SELECT語句開頭的描述,這個方法同時返回一個包含查看結(jié)果的ResultSet對象。executeUpdate():修改數(shù)據(jù)表內(nèi)容,例如新增、刪除與修改數(shù)據(jù)等。3. 說明如何一次運行多段SQL語句。答:首先建立一個Statement對象,將多個想要運行的SQL指令以addBatch()方法加到批處理文檔中,最后引用executeBacth()方法運行。(外加的:)JSP中連接MS SQL Server 數(shù)據(jù)庫
35、兩種方法都需要先導(dǎo)入包:java.sql.*<% page import="java.sql.*" %>1、通過JDBC-ODBC橋 1)創(chuàng)建ODBC數(shù)據(jù)源 2)加載驅(qū)動 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 3)連接數(shù)據(jù)庫 Connection con = DriverManager.getConnection("jdbc:odbc:數(shù)據(jù)源名稱","用戶名","密碼");
36、60;4)創(chuàng)建Statement實例向數(shù)據(jù)庫發(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實例對象、關(guān)閉數(shù)據(jù)庫連接 rs.close(); stmt.close(); con.close();2、通過Java數(shù)據(jù)庫驅(qū)動連接 1)安裝相應(yīng)的數(shù)據(jù)庫驅(qū)動,安裝方法參見: http:/localhost/forum/Course.aspx?id=201102 2)加載驅(qū)動 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver&qu
38、ot;); 3)連接數(shù)據(jù)庫 String uri= "jdbc:sqlserver:/;DatabaseName=zywebsitedb" String user="zysa" String password="qwer!#$" Connection con=DriverManager.getConnection(uri,user,password); 4)創(chuàng)建Statement實例向數(shù)據(jù)庫發(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實例對象、關(guān)閉數(shù)據(jù)庫連接 rs.close(); stmt.close(); con.close();第12章 Servlet基礎(chǔ) 1.簡述Servlet和JSP的關(guān)系。答:Servlet是服務(wù)器端運行的一種Java應(yīng)用程序。當(dāng)瀏覽器端有請求則將其結(jié)果傳遞給瀏覽器。在JSP中使用到的所有對象都將被轉(zhuǎn)換為Servlet或者非Servlet的Java對象,然后被執(zhí)行,所以執(zhí)行JSP實際上與執(zhí)行Servlet是一樣的。 2.簡述Servlet的生命周期。答:Servlet的生命周期可分為下面幾個階段:(1)裝載Servlet。(2)實例化一個
41、Servlet實例對象。(3)調(diào)用Servlet的init( )方法進行初始化。(4)服務(wù)。(5)卸載。 3.簡述HttpSession接口的功能和使用方法。答:.HttpSession接口是Servlet提供會話追蹤解決方案。 HttpSession對象存放在服務(wù)器端,只是對cookie和url重寫技術(shù)的封裝應(yīng)用。使用HttpSession進行會話控制的過程:(1)獲得一個HttpSession實例對象;(2)訪問和設(shè)置與會話相關(guān)聯(lián)信息,維護會話的狀態(tài);(3)廢棄會話數(shù)據(jù)。 4.簡述開發(fā)一個Servlet所需要的步驟。答:第一步:編寫Servlet實例第二步:在web.x
42、ml文件中配置該Servlet第三步:編寫其它文件 5.編寫一個html頁面和一個Servelt,實現(xiàn)利用Servelt的doPost方法讀取html文件中Form表單內(nèi)容。答: 參考12.6.26.寫一個利用HttpSession接口的用戶登錄的Servlet,當(dāng)用戶已經(jīng)登錄時,返回歡迎信息;否則轉(zhuǎn)向登錄頁面。答:第一步:編寫Servlet實例SessionServlet.java所示。package com; import java.io.*;import java.util.*;import javax.servlet.*;import javax.serv
43、let.http.*; /* * * 使用HttpSession管理會話的登錄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管理會話的登錄頁面</title>"); out.println("</head>");
50、; out.println("<body>"); / 獲取會話對象
51、; HttpSession session = request.getSession(); / 從會話對象中讀取數(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() / 從會話對象中讀取數(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>您的登錄時間是:" + loginTime + "!</h2>
59、;"); else if (user != null) && (password != null)
60、60; / 在會話對象中保存數(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>您的登錄時間是:" + loginTime + "!</h2>");
64、; else out.println("<h2>請在下面輸入登錄信息</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. 本站所有資源如無特殊說明,都需要本地電腦安裝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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年貴州農(nóng)業(yè)職業(yè)學(xué)院單招職業(yè)傾向性測試題庫帶答案
- 2025年度綠化項目管理與勞務(wù)派遣合同
- 2025年度教育機構(gòu)分紅合作協(xié)議范本(含師資培訓(xùn))
- 2025年度房地產(chǎn)企業(yè)勞動合同管理制度與購房合同附件
- 2025年度出國工人勞務(wù)合同(含緊急救援與安全應(yīng)急)
- 2025年度城市綜合體開發(fā)項目多人合伙股東合作協(xié)議
- 2025年度健康醫(yī)療副總經(jīng)理聘用與市場拓展合同
- 2025年度員工向公司借款額度限制合同
- 2025年度住宅小區(qū)施工圍擋安裝及安全管理合同
- 2023-2024學(xué)年廣東省珠海市香洲區(qū)第二中學(xué)高三下學(xué)期三模生物試卷
- DB50T 393-2011 城市三維建模技術(shù)規(guī)范
- 《肺癌圍手術(shù)期護理》課件
- 《糖尿病足護理查房》課件
- 山東省臨沂市地圖矢量課件模板()
- 2024復(fù)工復(fù)產(chǎn)安全培訓(xùn)
- 演練活動合同范本三篇
- 《大壩安全檢測》課件
- Gly-Gly-Leu-生命科學(xué)試劑-MCE
- 四年級上冊科學(xué)教科版課件四年級科學(xué)開學(xué)第一課
- 零售業(yè)的門店形象提升及店面管理方案設(shè)計
- 《論教育》主要篇目課件
評論
0/150
提交評論