WEB 課后習題答案_第1頁
WEB 課后習題答案_第2頁
WEB 課后習題答案_第3頁
WEB 課后習題答案_第4頁
WEB 課后習題答案_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課后習題答案第1章1.什么是靜態(tài)網頁?什么是動態(tài)網頁?兩者的區(qū)別是什么?試舉例說明。答:在網站設計中,純粹HTML格式的網頁通常被稱為“靜態(tài)網頁”,早期的網站一般都是由靜態(tài)網頁制作的。靜態(tài)網頁是相對于動態(tài)網頁而言,是指沒有后臺數據庫、不含程序和不可交互的網頁。你編的是什么它顯示的就是什么、不會有任何改變。靜態(tài)網頁相對更新起來比較麻煩,適用于一般更新較少的展示型網站。靜態(tài)網頁的網址形式通常為: 我們將靜態(tài)網頁的特點簡要歸納如下:(1)靜態(tài)網頁每個網頁都有一個固定的URL,且網頁URL以.htm、.html、.shtml等常見形式為后綴,而不含有“?”; (2)網頁內容一經發(fā)布到網站服務器上,無論

2、是否有用戶訪問,每個靜態(tài)網頁的內容都是保存在網站服務器上的,也就是說,靜態(tài)網頁是實實在在保存在服務器上的文件,每個網頁都是一個獨立的文件;(3)靜態(tài)網頁的內容相對穩(wěn)定,因此容易被搜索引擎檢索;(4)靜態(tài)網頁沒有數據庫的支持,在網站制作和維護方面工作量較大,因此當網站信息量很大時完全依靠靜態(tài)網頁制作方式比較困難;(5)靜態(tài)網頁的交互性交叉,在功能方面有較大的限制 動態(tài)網頁是與靜態(tài)網頁相對應的,也就是說,網頁 URL的后綴不是.htm、.html、.shtml、.xml等靜態(tài)網頁的常見形式,而是以.asp、.jsp、.php、.perl、.cgi等形式為后綴,并且在動態(tài)網頁網址中有一個標志性的符號

3、“?”,如有這樣一個動態(tài)網頁的地址為:我們將動態(tài)網頁的一般特點簡要歸納如下:(1)動態(tài)網頁以數據庫技術為基礎,可以大大降低網站維護的工作量;(2)采用動態(tài)網頁技術的網站可以實現更多的功能,如用戶注冊、用戶登錄、在線調查、用戶管理、訂單管理等等;(3)動態(tài)網頁實際上并不是獨立存在于服務器上的網頁文件,只有當用戶請求時服務器才返回一個完整的網頁;(4)動態(tài)網頁中的“?”對搜索引擎檢索存在一定的問題,搜索引擎一般不可能從一個網站的數據庫中訪問全部網頁,或者出于技術方面的考慮,搜索蜘蛛不去抓取網址中“?”后面的內容,因此采用動態(tài)網頁的網站在進行搜索引擎推廣時需要做一定的技術處理才能適應搜索引擎的要求。

4、靜態(tài)網頁與動態(tài)的區(qū)別 (我加的:看看)程序是否在服務器端運行,是重要標志。在服務器端運行的程序、網頁、組件,屬于動態(tài)網頁,它們會隨不同客戶、不同時間,返回不同的網頁,例如ASP、PHP、JSP、ASP.net、CGI等。運行于客戶端的程序、網頁、插件、組件,屬于靜態(tài)網頁,例如html頁、Flash、JavaScript、VBScript等等,它們是永遠不變的。 2. 什么是B/S模式?什么是C/S模式?試舉例說明。(我加的:B/S 結構(Browser/Server 結構)結構即瀏覽器和服務器結構)答:即瀏覽器服務器結構。它是隨著Internet技術的興起,對CS結構的一種變化或者改進的結構。

5、在這種結構下,用戶工作界面通過瀏覽器來實現,極少部分事務邏輯在前端(Browser)實現,主要事務邏輯在服務器端(Server)實現,形成所謂三層結構。這樣就大大簡化了客戶端電腦載荷,減輕了系統(tǒng)維護與升級的成本和工作量,降低了用戶的總體成本??蛻魴C上只要安裝一個瀏覽器(Browser),如Netscape Navigator或Internet Explorer,服務器安裝Oracle、Sybase、Informix或 SQL Server等數據庫。瀏覽器通過Web Server 同數據庫進行數據交互。這種模式,我們通常將其成為瘦客戶端模式。典型的系統(tǒng):網上銀行、網上書店、Blog等等客戶機/服

6、務器(Client/Server,C/S)模式即客戶機和服務器結構。這種體系結構模式是以數據庫服務器為中心、以客戶機為網絡基礎、在信息系統(tǒng)軟件支持下的兩層結構模型。這種體系結構中,用戶操作模塊布置在客戶機上,數據存儲在服務器上的數據庫中??蛻魴C依靠服務器獲得所需要的網絡資源,而服務器為客戶機提供網絡必須的資源。目前大多數信息系統(tǒng)是采用ClientServer結構。服務器通常采用高性能的PC、工作站或小型機,并采用大型數據庫系統(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公司倡導的、許多公司參與一起建立的一種動態(tài)網頁技術標準。JSP技術是用Java語言作為腳本語言的,JSP網頁為整個服務器端的JAVA庫單元提供了一個接口來服務于HTTP的應用程序。JSP不像CGI,ISAPI和NSAPI那樣難于編寫和維護,不像PHP那樣只能適應中小流量的網站,也不像ASP那樣受到跨平臺的限制(只能運行于Microsoft公司開發(fā)的IIS和PWS上)。JSP體現了當今最先進的網站開發(fā)思想,和其他Web開

8、發(fā)工具相比,JSP有著它自己強大的優(yōu)勢。程序可以跨臺平執(zhí)行。JSP可以讓開發(fā)人員在任意環(huán)境中進行開發(fā),在任意環(huán)境中進行系統(tǒng)部署,在任意環(huán)境中擴展應用程序。多樣化和功能強大的開發(fā)工具支持。Java有許多非常優(yōu)秀的開發(fā)工具,而且有許多可以免費得到,并且其中的許多已經可以順利地運行于多種平臺之下。強大的可伸縮性。從只有一個小的jar文件就可以運行servlet/jsp到由多臺服務器進行集群和負載均衡,到多臺Application進行事務處理,一臺服務器到無數臺服務器,Java顯示了巨大的生命力。4. JSP、Java和JavaScript有什么區(qū)別與聯(lián)系?答:JAVASCRIPT從其名稱含義是JAV

9、A腳本,是在瀏覽器中運行的腳本語言,由于其大部分語法規(guī)范取自于JAVA語法規(guī)范,所以取名為JAVASCRIPT。JAVASCRIPT是一門基于對象的弱類型腳本編程語言,主要用來制作網頁前臺的技術。并且是現在比較熱門的AJAX技術的核心。JSP是JAVA SERVER PAGE的首字母縮寫,顧名思義,是JAVA的服務端頁面,其動態(tài)語法部分完全是JAVA規(guī)范。JSP是基于Java的技術,用于創(chuàng)建可支持跨平臺及Web服務器的動態(tài)網頁。從構成情況上來看,JSP頁面代碼一般由普通的HTML語句和特殊的基于Java語言的嵌入標記組成,所以它具有了Web和Java功能的雙重特性。JSP是和ASP,PHP一樣

10、的服務器端語言,主要用來制作網站后臺的技術。JAVA是和C/C+一個等級的強類型編程語言,是純面向對象的.比起JSP和JAVASCRIPT要復雜的多。一般學好JAVA就能很容易轉向其他兩門語言??偨Y:JSP是JAVA技術的其中之一,所以學好了JAVA過渡到JSP從編程角度來講比較容易,學好JSP以后要想學好JAVA,就還要學習更多的JAVA方面的東西,比如JAVABEAN,企業(yè)級應用等等。JAVASCRIPT嚴格來講,除了語法參照了JAVA語法規(guī)范外,和JAVA毫無關系,所以兩者之間只是語法規(guī)范類似,相互之間的過渡就只有語法能夠參照,其他的都得分別去了解,JAVASCRIPT是過程式語言,JA

11、VA則是面向對象的。 第2章1. 什么是 HTML 語言? HTML文件有什么特征?答:HTML是超文本標記語言(Hypertext Mark-up Language)的縮寫,主要用來創(chuàng)建與系統(tǒng)平臺無關的網頁文檔。它是目前網絡上應用最為廣泛的語言,也是構成網頁文檔的主要語言,它不是編程語言,而是一種描述性的標記(標簽)語言。HTML文件是純文本文件,是由HTML命令組成的描述性文本,HTML命令可以說明文字、圖形、動畫、聲音、表格、鏈接等。HTML文件能用任意的文本編輯器編輯,如:記事本、寫字板、Word等,也可以使用所見即所得的編輯器來編輯HTML文件,如Dreamweaver等。

12、2. 什么是JavaScript?答:JavaScript是由Netscape公司開發(fā)的一種網頁的腳本編程語言,它支持客戶端與服務器端的應用程序以及構件的開發(fā)。JavaScript是一種解釋性的語言,它的基本結構形式與其他編程語言相似,需要先編譯后執(zhí)行。JavaScript是適應動態(tài)網頁制作的需要而誕生的一種新的編程語言,如今越來越廣泛地使用于Internet網頁制作上。在HTML基礎上,使用Javascript可以開發(fā)交互式Web網頁。JavaScript的出現使得網頁和用戶之間實現了一種實時性的、動態(tài)的、交互性的關系,使網頁包含更多活躍的元素和更加精彩的內容。3. 簡述HTML和JavaS

13、cript在JSP動態(tài)網頁中所扮演的角色。答:要使用JSP開發(fā)出專業(yè)的動態(tài)網站,首先必須熟練掌握靜態(tài)網站的制作技術。HTML是在學習JSP之前必須了解的基礎知識,很多JSP語法的使用都是建立在HTML文檔的基礎上。實際開發(fā)中,一般都是使用現成的HTML文檔來添加JSP的動態(tài)腳本并做適當修改,除了特殊的應用,很少從零開始寫一個JSP頁面,所以讀懂HTML文檔并了解HMTL語言中的技巧為更快地上手JSP提供了很大的幫助。JavaScript是JSP知識體系中一個可選的知識模塊。也就是說不了解JavaScript知識也不會影響JSP的應用開發(fā),但是如果掌握了JavaScript的知識,將可以更加方便

14、地解決網頁開發(fā)中的某些特定問題,例如經常使用JavaScript判斷用戶在表單中輸入數據的合法性。第3章無第4章1.如何在HTML網頁中嵌入JSP程序代碼?怎樣來定義JSP中的聲明區(qū)與程序區(qū)?答:在JSP網頁中必須于<%與%>符號間嵌入程序代碼。JSP聲明的語法格式為:<%! declaration; declaration; . %> 或<%! 聲明; 聲明; . %>腳本代碼的語法格式如下:<% code fragment %> 或<% 代碼 %>2.請說明JSP中有哪3個指令元素,以及這3個指令的主要用途。答:page指令:可用

15、來設置JSP網頁的特性,如編碼方式、引用類、緩沖區(qū)等。include指令:可用來將HTML、文本文件或者JSP程序加載當前的JSP網頁。taglib指令:可用來引用一個自定義的標簽庫。3.JSP中include指令與include動作的區(qū)別?答:include指令是指把其它頁面的Java代碼(源碼)加進來,跟本頁面的代碼合并在一起,相當于把源碼從那個頁面復制到本頁面中來,然后再編譯。并且由于本頁面編譯時已經包含了別的文件的源碼,所以以后其它頁面更改時,本頁面并不理會,因為已經編譯過了。<jsp:include>動作是指兩個頁面的代碼運行完以后,再把包含的那個頁面運行后的HTML結果

16、頁面加到本頁面運行后的HTML結果頁面中來。所以是運行時包含,并且還可以傳遞參數給被包含的頁面。4. JSP網頁可以使用的特殊操作元素有哪些?其中<jsp:forward>與<jsp:param>操作元素各有什么功能?答:可使用的操作元素有<jsp:param>、<jsp:include>、<jsp:forward>、<jsp:plugin>。<jsp:forward>:可將當前瀏覽器顯示網頁的網址,重新導向新的網址。<jsp:param>:主要用來傳遞參數給JSP程序,而由程序取得參數值。

17、0;第5章1. JSP中的內建對象包含哪些?試簡述這些對象在JSP中的主要功能。答:request:取得客戶端數據與系統(tǒng)的信息。response:響應客戶端信息。application:記錄與處理上線者共享的數據。session:記錄與處理上線者的個別數據。out:控制數據輸出的操作。config:取得JSP編譯后Servlet的信息。pageContext:存取與處理系統(tǒng)運行時期的各項信息。page:表示當前的JSP網頁。2. response重定向方法sendRedirect和動作元素<jsp:forward>的區(qū)別是什么?(1)response.sendredirect()會

18、在客戶端呈現跳轉后的URL地址;這種跳轉稱為客戶端跳轉。使用response.sendredirect()將重定向的URL發(fā)送到客戶端,瀏覽器再根據這個URL重新發(fā)起請求。所以用這個方法時,你在瀏覽器地址欄上會看到新的請求資源的地址。并且這個時候的request,response都和第一次的不一樣了。這時是重新產生了新的request,response。(2)使用<jsp:forward>完全是在服務器上進行,瀏覽器地址欄中的地址保持不變;這種跳轉稱為服務器端跳轉。所以使用這個方法時沒有產生新的用request,response。因為request沒有變,在同一個請求內,可以用re

19、quest來轉遞參數。(3)response.sendRedirect()想帶參數的話,自己在地址中寫成 xxx.jsp?param1=aaa&. 這種形式傳遞參數。<jsp:forward>能夠使用<jsp:param/>標簽向目標文件傳送參數和值 ,目標文件必須是一個動態(tài)的文件,能夠處理參數。(4)<jsp:forward>后面的語句不會被執(zhí)行也不會繼續(xù)發(fā)送到客戶端(我:這句話怎么回事?),response.sendRedirect()后面的語句會繼續(xù)執(zhí)行,除非語句前面有return。(5)<jsp:forward>是在服務

20、器的內部進行轉換,只發(fā)送給客戶端最后轉到的頁面,速度會比較快;response.sendRedirect()需要服務器與客戶端之間的往返,可以轉到任何頁面,包括網絡有效域名。但速度比較慢。3. application與session存儲數據變量的方式有何區(qū)別?答:application:記錄聯(lián)機用戶共享的數據。session:記錄聯(lián)機用戶的個別數據。4. 請說明session對象的生命周期在哪些狀況下會結束。答:當以下四種情形之一發(fā)生時,session與其中的數據便會消失:(1)用戶關閉當前正在使用的瀏覽器程序。(2)關閉網頁服務器。(3)用戶未向服務器提出請求超過預設的時間,Tomcat服務

21、器預設為30分鐘。(4)運行程序結束session。 第6章1. 請簡述Cookie的概念與使用方式。答:Cookie為瀏覽器提供的功能,是一種可將聯(lián)機用戶的數據存儲在客戶端計算機上的技術,要運用Cookie必須先建立一個Cookie對象來存儲字符串數據,再將此Cookie對象傳送到客戶端。2.查看自己計算機上Cookie文件的保存位置。瀏覽網頁,運行書上的例子,看是否會把信息記錄在此位置?文件是如何命名的?文件的內容是什么?答:在默認情況下,Cookie是隨著用戶關閉瀏覽器而自動消失的。所以書上例子不會保存Cookie。如果在例2中我們在usingCookie.jsp中使用setM

22、axAge()方法,設置Cookie對象的存在期限。這樣Cookie對象就會保存在硬盤中的Cookies文件夾中如“C:Documents and SettingsAdministratorCookies”如文件“administratorch061.txt”。內容是如下代碼  “namedlocalhost/ch06/1024152410470430118001411778929630117999*”3.Cookie的常見用途有哪些?(1)網站瀏覽人數管理 由于代理服務器、緩存等的使用,唯一能幫助網站精確統(tǒng)計來訪人數的方法就是為每個訪問者建立一個唯一的ID。使用Cookie,網站可

23、以完成以下工作:測定多少人訪問過;測定訪問者中有多少是新用戶(即第一次來訪),多少是老用戶;測定一個用戶多久訪問一次網站。 通常情況下,網站設計者是借助后臺數據庫來實現以上目的的。當用戶第一次訪問該網站時,網站在數據庫中建立一個新的ID,并把ID通過Cookie傳送給用戶。用戶再次來訪時,網站把該用戶ID對應的計數器加1,得到用戶的來訪次數或判斷用戶是新用戶還是老用戶。 (2)按照用戶的喜好定制網頁外觀 有的網站設計者,為用戶提供了改變網頁內容、布局和顏色的權力,允許用戶輸入自己的信息,然后通過這些信息對網站的一些參數進行修改,以定制網頁的外觀。(3)在電子商務站點中實現諸如“購物籃”等功能

24、可以使用Cookie記錄用戶的ID,這樣當你往“購物籃”中放了新東西時,網站就能記錄下來,并在網站的數據庫里對應著你的ID記錄當你“買單”時,網站通過ID檢索數據庫中你的所有選擇就能知道你的“購物籃”里有些什么。(這里不懂)4.Cookie與session有何不同?session與Cookie同樣是用來記錄上線用戶的個別數據的,兩者的差異在于session是存在于服務器端,而Cookie則是存在于客戶端。 第7章1. 試說明什么是JavaBean。答:JavaBean是一種特殊的Java程序,是用于包裝特定功能的程序代碼,可以被JSP網頁重復使用,其本身無法獨立運行,是JSP網頁程序

25、組件化的核心。2. 請說出如何在JSP網頁中載入JavaBean。A:<jsp:useBean id=id-name scope=scope-name class=class-name />3. JavaBean對象可聲明哪些不同的生命周期?答:request、session、page及applaction。(我加的:JavaBean的生命周期的有效范圍Page范圍:JavaBean的有效范圍是當前JSP頁面request范圍:JavaBean的有效范圍是客戶請求期間session范圍:JavaBean的有效范圍是客戶的會話期間applaction范圍:JavaBean的有效范圍是

26、JavaBean被實例化后就一直存在,與JSP引擎相當)4. JavaBean程序除了必須要有一個無傳入值的建構式之外,還有哪些特色?答:除了必須要有一個無傳入值的建構式之外,還必須是一個公開的類,并以set及get開頭的方法來設置與取得屬性。5. 試說明Get和Post方法之間的差異?答:Post和Get這兩種設置方式主要的差異在于數據的傳送方式,前者將所要傳送的數據包含在HTTP文件頭中,后者則是將數據直接串接在網址欄的后端,兩者都可使用GetParameter取得傳送的數據內容。 第8章  1. import="java.io.*"2. 試說明如何

27、利用File類進行文件目錄的操作?答:利用File類進行文件目錄的操作首先必需建立一個File對象,將所要操作文件或是目錄完整路徑當作參數傳入,當File對象建立之后,JSP網頁便可以利用這個對象調用File類的所有方法,以進行各種文件目錄的操作。3. 簡述文件存取操作的操作過程。答:首先利用File類建立一個參照指定文件的目錄的File實體對象,接下來利用FileWriter和FileReader這兩個類,進行指定文件的讀寫,其中的FileWriter的write方法,負責將數據寫入文件,而FileReader的read則用來讀取文件中的數據。 第9章1) 創(chuàng)建一張學生表,包含以下

28、信息,學號,姓名,年齡,性別,家庭住址,聯(lián)系電話 create table student ( 學號 int, 姓名 varchar(10), 年齡 int, 性別 varchar(4), 家庭住址 varchar(50), 聯(lián)系電話 varchar(11) ); - 2) 修改學生表的結構,添加一列信息,學歷 alter table student add column 學歷 varchar(6); - 3) 修改學生表的結構,刪除一列信息,家庭住址 alter table student drop column 家庭住址;/注意此處用drop而非delete - 4) 向學生表添加如下信息

29、: 學號 姓名年齡性別聯(lián)系電話學歷 1A22男123456小學 2B21男119中學 3C23男110高中 4D18女114大學 insert into student (學號,姓名,年齡,性別,聯(lián)系電話,學歷) values(1,"A",22,"男","123456","小學"); insert into student (學號,姓名,年齡,性別,聯(lián)系電話,學歷) values(1,"B",21,"男","119","中學"); in

30、sert into student (學號,姓名,年齡,性別,聯(lián)系電話,學歷) values(1,"C",23,"男","123456","高中"); insert into student (學號,姓名,年齡,性別,聯(lián)系電話,學歷) values(1,"D",23,"女","114","大學"); - 5) 修改學生表的數據,將電話號碼以11開頭的學員的學歷改為“大?!?update student set 學歷="大專&q

31、uot; where 聯(lián)系電話 like "11%" - 6) 刪除學生表的數據,姓名以C開頭,性別為男'的記錄刪除 delete from student where 姓名 like "C" and 性別="男" - 7) 查詢學生表的數據,將所有年齡小于22歲的,學歷為“大?!钡?,學生的姓名和學號示出來 select 姓名,學號 from student where 年齡<22 and 學歷="大專" - 8) 查詢學生表的數據,查詢所有信息,列出前25%的記錄 select top 25 per

32、cent * from student ; ? select * from student limit 25%;? 這條有問題,在sql 2000中應該是select top 25 percent * from student ; - 9) 查詢出所有學生的姓名,性別,年齡降序排列 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程序處理數據庫時,分別扮演著什么樣的角色?答:Statement:Statement接口中主要是提供了一些SQL運行的方法,以及設置運行SQL后所返回ResultSet類型對象的屬性。由此接口所生成的對象在JSP中同樣是用來運行各種SQL指令與設置Resultset對象的屬性。ResultSet:ResultSet接口下所定義的方法大都是用來控制ResultSet對象中指針的移動的,以取得其中的

34、數據元素。2. 試列舉說明Statement運行SQL指令的3種方法成員。答:execute():運行一般SQL指令,例如建立數據庫、修改數據表等等。executeQuery():運行以SELECT語句開頭的描述,這個方法同時返回一個包含查看結果的ResultSet對象。executeUpdate():修改數據表內容,例如新增、刪除與修改數據等。3. 說明如何一次運行多段SQL語句。答:首先建立一個Statement對象,將多個想要運行的SQL指令以addBatch()方法加到批處理文檔中,最后引用executeBacth()方法運行。(外加的:)JSP中連接MS SQL Server 數據庫

35、兩種方法都需要先導入包:java.sql.*<% page import="java.sql.*" %>1、通過JDBC-ODBC橋 1)創(chuàng)建ODBC數據源 2)加載驅動 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 3)連接數據庫 Connection con = DriverManager.getConnection("jdbc:odbc:數據源名稱","用戶名","密碼");

36、60;4)創(chuàng)建Statement實例向數據庫發(fā)送SQL指令 Statement stmt=con.createStatement(); 5)返回結果一般存放在記錄集(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)關閉記錄集、關閉Statement實例對象、關閉數據庫連接 rs.close(); stmt.close(); con.close();2、通過Java數據庫驅動連接 1)安裝相應的數據庫驅動,安裝方法參見: http:/localhost/forum/Course.aspx?id=201102 2)加載驅動 Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver&qu

38、ot;); 3)連接數據庫 String uri= "jdbc:sqlserver:/;DatabaseName=zywebsitedb" String user="zysa" String password="qwer!#$" Connection con=DriverManager.getConnection(uri,user,password); 4)創(chuàng)建Statement實例向數據庫發(fā)送SQL指令 Statement stmt=con.cr

39、eateStatement(); 5)返回結果一般存放在記錄集(ResultSet)中  a)查詢  ResultSet rs=stmt.executeQuery("SELECT * FROM TB_CustomersInfo");  b)更新  stmt.executeUpdate("update tb_customersinfo set ci_gender=1 where ci_name='張三'"); 6)關閉記錄集、關閉Statem

40、ent實例對象、關閉數據庫連接  rs.close(); stmt.close(); con.close();第12章 Servlet基礎 1.簡述Servlet和JSP的關系。答:Servlet是服務器端運行的一種Java應用程序。當瀏覽器端有請求則將其結果傳遞給瀏覽器。在JSP中使用到的所有對象都將被轉換為Servlet或者非Servlet的Java對象,然后被執(zhí)行,所以執(zhí)行JSP實際上與執(zhí)行Servlet是一樣的。 2.簡述Servlet的生命周期。答:Servlet的生命周期可分為下面幾個階段:(1)裝載Servlet。(2)實例化一個

41、Servlet實例對象。(3)調用Servlet的init( )方法進行初始化。(4)服務。(5)卸載。 3.簡述HttpSession接口的功能和使用方法。答:.HttpSession接口是Servlet提供會話追蹤解決方案。 HttpSession對象存放在服務器端,只是對cookie和url重寫技術的封裝應用。使用HttpSession進行會話控制的過程:(1)獲得一個HttpSession實例對象;(2)訪問和設置與會話相關聯(lián)信息,維護會話的狀態(tài);(3)廢棄會話數據。 4.簡述開發(fā)一個Servlet所需要的步驟。答:第一步:編寫Servlet實例第二步:在web.x

42、ml文件中配置該Servlet第三步:編寫其它文件 5.編寫一個html頁面和一個Servelt,實現利用Servelt的doPost方法讀取html文件中Form表單內容。答: 參考12.6.26.寫一個利用HttpSession接口的用戶登錄的Servlet,當用戶已經登錄時,返回歡迎信息;否則轉向登錄頁面。答:第一步:編寫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();                   / 從會話對象中讀取數據            &#

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()                             / 從會話對象中讀取數據  &

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;      / 在會話對象中保存數據                            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)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論