第一、二章
1.下列關(guān)于靜態(tài)網(wǎng)頁和動態(tài)網(wǎng)頁說法錯誤的是C
A、動態(tài)網(wǎng)頁的內(nèi)容一般是從數(shù)據(jù)庫里面讀取出來的
B、動態(tài)網(wǎng)頁的內(nèi)容的顯示是通過程序來實現(xiàn)的
C、動態(tài)網(wǎng)頁上可以顯示動態(tài)元素比如:動畫,視頻等,而靜態(tài)網(wǎng)頁無法顯示動態(tài)元素
解析:動態(tài)網(wǎng)頁,與網(wǎng)頁上的各種動畫、滾動字幕等視覺上的動態(tài)效果沒有直接關(guān)系,動態(tài)網(wǎng)頁也可以是純文字內(nèi)容的,也可以是包含各種動畫的內(nèi)容,這些只是網(wǎng)頁具體內(nèi)容的表現(xiàn)形式,無論網(wǎng)頁是否具有動態(tài)效果,只要是采用了動態(tài)網(wǎng)站技術(shù)生成的網(wǎng)頁都可以稱為動態(tài)網(wǎng)頁。
網(wǎng)頁內(nèi)容一經(jīng)發(fā)布到網(wǎng)站服務(wù)器上,無論是否有用戶訪問,每個靜態(tài)網(wǎng)頁的內(nèi)容都是保存在網(wǎng)站服務(wù)器上的,也就是說,靜態(tài)網(wǎng)頁是實實在在保存在服務(wù)器上的文件,每個網(wǎng)頁都是一個獨立的文件。
在網(wǎng)站設(shè)計中,純粹HTML(標準通用標記語言下的一個應(yīng)用)格式的網(wǎng)頁通常被稱為“靜態(tài)網(wǎng)頁”,靜態(tài)網(wǎng)頁是
標準的HTML文件,它的文件擴展名是.htm、.html,可以包含文本、圖像、聲音、FLASH動畫、客戶端腳本和ActiveX
控件及JAVA小程序等。靜態(tài)網(wǎng)頁是網(wǎng)站建設(shè)的基礎(chǔ),早期的網(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)頁面都是htm這類頁面,實際上靜態(tài)也不是完全靜
態(tài),他也可以出現(xiàn)各種動態(tài)的效果,如GIF格式的動畫、FLASH、滾動字幕等。
靜態(tài)動態(tài)網(wǎng)頁博客:https://blog.csdn.net/erlian1992/article/details/51868799
2.在HTML的圖片標記中,哪個屬性用于指定圖片的來源(地址)?B
A、alt
B、src
C、width
D、border
解析:
<img src="WenContent/images/java.png" width="300" alt="加載不成功!" title="圖片">
3.在以下幾種關(guān)于HTML表格標記的描述中,哪一種描述是錯誤的?D
A<table>...</table>用于定義整個表格
B、<tr>...</tr>用于定義表格行
C、<td>...</td>用于定義單元格
D、為了使表格邊框不可見,應(yīng)該在<table>標記中將border屬性的設(shè)置為”1”
E、表格標記可以實現(xiàn)以表格形式顯示數(shù)據(jù),也可以用于實現(xiàn)頁面元素的布局
解析:不顯示邊框,直接把邊框border的值設(shè)為0就可以,表格的默認格式是雙線,如果需要單線表格,一般還會設(shè)置cellpadding和cellspacing的值都為0。
4.以下哪一項是JavaScript代碼段的運行結(jié)果?B
var a = null;
var b;
var c = “Hello”;
alert(a + " " + b + " " + c);
A、0 undefined Hello
B、null undefined Hello
C、null Hello
D、undefined Hello
解析:a的值是null,b沒有傳值則會輸出undefined,c是字符串“Hello”,
5.下面哪一個不是文本的標簽屬性?A
A、& nbsp;
B、align
C、color
D、face
解析;A是表示空格,Balign的屬性值有l(wèi)eft、right、center、justify、char;align屬性規(guī)定單元格中內(nèi)容的水平對齊方式,其語法是“<td align="value">”。C:color 屬性用于指定文本顏色。D:規(guī)定文本的字體:
<font face="verdana">This is some text!</font>
6.在HTML頁面中制作一個圖像,想要在鼠標指向這個圖像時浮出一條提示信息,應(yīng)該使用的參數(shù)是:C
A、POP
B、SRC
C、TITLE
D、MSG
解析:<img src="圖片路徑" title="提示信息文字" />
7.下列語言哪個屬于WEB服務(wù)器腳本技術(shù)?D
A、HTML
B、CSS
C、JavaScript
D、JSP
解析:CGI、ASP、JSP、PHP
8.在HTML中,要想讓網(wǎng)頁中的文字實現(xiàn)換行,必須使用下列標記中的哪一個?C
A、<p>
B、<ul>
C、<br>
D、<a>
解析:
<span style="color: red">段落、標題、橫線、標題、橫線、標題 <br>
9.QQ屬于哪種軟件架構(gòu)?B
A、B/S架構(gòu)
B、C/S架構(gòu)
解析:B/S結(jié)構(gòu)(Browser/Server,瀏覽器/服務(wù)器模式),是WEB興起后的一種網(wǎng)絡(luò)結(jié)構(gòu)模式,WEB瀏覽器是客戶端最主要的應(yīng)用軟件。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實現(xiàn)的核心部分集中到服務(wù)器上,簡化了系統(tǒng)的開發(fā)、維護和使用。客戶機上只要安裝一個瀏覽器,如Chrome、Safari、Microsoft Edge、Netscape Navigator或Internet Explorer9),服務(wù)器安裝SQL Serverm、Oraclea、MYSQL等數(shù)據(jù)庫。瀏覽器通過Web Server同數(shù)據(jù)庫進行數(shù)據(jù)交互。
服務(wù)器-客戶機,即Client-ServerC/S結(jié)構(gòu)。C/S結(jié)構(gòu)通常采取兩層結(jié)構(gòu)。服務(wù)器負責(zé)數(shù)據(jù)的管理,客戶機負責(zé)完成與用戶的交互任務(wù)。
需要下載客戶端
10.下列HTML標簽中屬于非對稱標簽的是A
A、<img>
B、<li>
C、<p>
D、<head>
解析:
<li>第一章</li>
<p>1.HTML結(jié)構(gòu)</p>;
<head>
<meta charset="UTF-8">
<title>知識點</title>
</head>
<img src="WenContent/images/java.png" width="300" alt="加載不成功!" title="圖片">
11.下列代碼中能夠以“1949年10月1日”的格式輸出當前日期的是**____**D。
A、
var d = new Date();
document.write(d.getFullYear() + “年” + d.getMonth() + “月” + d.getDate() + “日”);
B、
var d = new Date();
document.write(d.getFullYear() + “年” + d.getMonth() + 1 + “月” + d.getDay() + “日”);
C、
var d = new Date();
document.write(d.getFullYear() + “年” + (d.getMonth() + 1) + “月” + d.getDay() + “日”);
D、
var d = new Date();
document.write(d.getFullYear() + “年” + (d.getMonth() + 1) + “月” + d.getDate() + “日”);
解析:getMonth():獲取當前月(注意:返回數(shù)值為0~11,需要自己+1來顯示)
12.JavaScript中的變量是強類型還是弱類型?B
A、強類型。在聲明變量時,必須指定變量的類型。
B、弱類型。在聲明變量時,不需要指定變量的類型,而變量的類型將根據(jù)變量的值來確定。
13.___屬性相同的多個單選按鈕只能被選中一項。B
A、id
B、name
C、value
D、class
解析:
性別:<input type="radio" value="男" name="sex">男<input type="radio" value="女" name="sex">女<br>
14.表單的**____**屬性用于定義提交數(shù)據(jù)的方法。B
A、action
B、method
C、name
D、target
解析:
<form action="" method="post">
post數(shù)據(jù)不可見,get數(shù)據(jù)可見在url中
15.Javascript表達式 1 + 2 + “3” + 4 + 5 的運算結(jié)果是**__**。C
A、12345
B、339
C、3345
D、語法錯誤
解析:1+2的值是3,“3”+4+5=拼接的意思,所以拼接45
16.可以通過<script>...</script>標記來包含一個外部JavaScript文件。這里的外部JavaScript文件的擴展名必須是:D
A、.html
B、.java
C、.jsp
D、.js
17.在DOM(文檔對象模型)中,根對象是**A__**__。
A、document
B、location
C、navigator
D、window
解析:Document類型表示整個文檔,是一組分層節(jié)點的根節(jié)點。在JavaScript中, document 對象是Document 的一個實例。使用document對象,有很多種方式可以查詢和取得節(jié)點。
18.JavaScript的變量名是否嚴格區(qū)分大小寫?A
A、是
B、否
解析:check 與 Check是不一樣的
19.為了表示一個文件是HTML文檔所使用的標簽是A
A、<html>
B、<title>
C、<head>
D、<meta>
20.在以下標題標記中,哪個標記代表的標題級別最高,文字字體最大?A
A、<h1>
B、<h2>
C、<h3>
D、<h4>
E、<h5>
F、<h6>
解析:1-6逐級遞減
21.超文本傳輸協(xié)議的簡稱是**__**_。B
A、HTML
B、HTTP
C、FTP
D、SMTP
22.下列說法正確的是**____**。D
A、HTML的標簽必須成對出現(xiàn),分別表示標簽的開始和結(jié)束;
B、HTML不區(qū)分大小寫;
C、HTML文件的后綴必須是".html";
D、以上都不對。
解析:html的標簽不一定是成對出現(xiàn),也有單獨呈現(xiàn)的標簽,即沒有閉合標簽的標簽;它們是在開始標簽中就關(guān)閉的元素,不存在成對的情況,例如br、hr、img、input、link、meta、param、source等等。
HTML標簽不區(qū)分大小寫,`<h1>`和`<H1>`是一樣的,但建議小寫,因為大部分程序員都以小寫為準。
HTML文件的后綴一般是".html"和“.htm”
23.在以下關(guān)于JavaScript的幾個說法中,哪個是錯誤的?C
A、它是一種解釋性腳本語言,由客戶端的瀏覽器解釋執(zhí)行
B、它具有解釋性、基于對象、事件驅(qū)動、安全性、跨平臺等特點
C、它是Java語言的一個子集
D、可以使用<script>...</script>標記直接將JavaScript腳本代碼嵌入到HTML文檔中
解析:js與Java么,沒有任何關(guān)系
24.使用框架集(frameset)的**__**__屬性可以將頁面分為左右兩個框架。B
A、rows
B、cols
C、framespacing
D、width
解析:
<frameset cols="40%,60%">
<frame src="top.html" name="one">
<frame src="bottom.html" name="two">
</frameset>
cols=“200px,*” //左右分割窗口,左邊200像素,
25.___、__和___標簽分別用于定義表格、行、單元格。C
A、tbody tr td
B、table row cell
C、table tr td
D、table th td
解析:th標簽是表格下的一種標簽代表表頭,它和標簽的區(qū)別是:th元素內(nèi)部的文本通常會呈現(xiàn)為居中的粗體文本,而 td 元素內(nèi)的文本通常是左對齊的普通文本。
<tr><th>學(xué)號</th><th>姓名</th><th>成績</th></tr>
<tr><td>1</td><td>張三</td><td>90</td></tr>
<tr><td>2</td><td>李四</td><td>80</td></tr>
<tr><td>3</td><td>王五</td><td>70</td></tr>
26.下列哪個選項是在新窗口中打開網(wǎng)頁文檔B
A、_selt
B、_blank
C、_top
D、_parent
解析:設(shè)置target屬性值為“_blank”,可以在一個新的窗口中打開鏈接。
設(shè)置target屬性值為“_self”,會在相同的框架或者窗口中打開鏈接。
設(shè)置target屬性值為“_parent”,會在父窗口或者包含來超鏈接引用的框架的框架集中打開鏈接。我們可以看到原來的Frame_B_1也被新打開的鏈接覆蓋了。
設(shè)置target屬性值為“_top”,會清除所有被包含的框架,并打開鏈接。
演示例子:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>This is a title</title>
</head>
<frameset cols="25%,75%">
<frame src="###\Frame_A.html" />
<frame src="###\Frame_B.html" />
</frameset>
</html>
Frame_A.html:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
</head>
<body bgcolor="#8F8FBD">
<hr />
<h3>Frame A</h3>
<hr />
</body>
</html>
Frame_B.html:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>This is a title</title>
</head>
<frameset rows="25%,75%">
<frame src="###\Frame_B_1.html" />
<frame src="###\Frame_B_2.html" />
</frameset>
</html>
Frame_B_1:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
</head>
<body bgcolor="#7FFF00">
<hr />
<h3>Frame B1</h3>
<hr />
</body>
</html>
Frame_B_2:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
</head>
<body bgcolor=#EBC79E">
<hr />
<h3>Frame B2</h3>
<hr />
<br />
<hr />
<p>
<a href="###/New_Page.html/" target="<b>_blank</b>">This is a
link...</a>
</p>
<a href="###/New_Page.html" target="_blank">This is a link...</a>
<hr />
<br />
<hr />
<p>
<a href="###/New_Page.html/" target="<b>_self</b>">This is a
link...</a>
</p>
<a href="###/New_Page.html" target="_self">This is a link...</a>
<hr />
<br />
<hr />
<p>
<a href="###/New_Page.html/" target="<b>_parent</b>">This is a
link...</a>
</p>
<a href="###/New_Page.html" target="_parent">This is a link...</a>
<hr />
<br />
<hr />
<p>
<a href="###/New_Page.html/" target="<b>_top</b>">This is a
link...</a>
</p>
<a href="###/New_Page.html" target="_top">This is a link...</a>
<hr />
</body>
</html>
New_Page.html:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<h1>This is a new page!</h1>
</body>
</html>
在Frame_B_2.html中,有4個連接,都指向同一個網(wǎng)頁New_Page.html,他們唯一的不同就是標簽中target的屬性值不同。
27.在HTML中,如下哪一種表達方式用來表示空格?C
A、& amp;
B、>
C、& nbsp;
D、& quot;
28.若在頁面中給圖像home.jpg創(chuàng)建超鏈接,鏈接到www.baidu.com,正確的是B
A、<a href="www.baidu.com">home.jpg</a>
B、<a href="www.baidu.com"><img src="home.jpg"></a>
C、<img src="home.jpg"><a href="www.baidu.com"></a>
D、<a href="www.baidu.com"><img src="home.jpg">
29.在以下關(guān)于HTML的幾個說法中,哪個是錯誤的?C
A、它是一種超文本標記語言,通過嵌入標記來表明文本格式
B、它的全稱是Hypertext Markup Language
C、它在服務(wù)器端解釋執(zhí)行
D、它由瀏覽器解釋執(zhí)行
30.文本框的**____**屬性用于定義顯示寬度。D
A、width
B、maxlength
C、height
D、size
31.在HTML中,使用哪一組標記實現(xiàn)有序列表?C
A、<UL>和<LI>
B、<UL>和<OPTION>
C、<OL>和<LI>
D、<OL>和<OPTION>
解析:
<ol>
<li>第一章</li>
<li>第二章</li>
<li>第三章</li>
</ol>
32.在頁面中看不見的表單元素是哪種?C
A、<input?type="password">
B、<input?type="radio">
C、<input?type="hidden">
D、<input?type="check">
33.關(guān)于JavaScript中的字符型數(shù)據(jù),以下哪種說法是錯誤的?A
A、字符型數(shù)據(jù)是必須使用雙引號括起來的一個或多個字符
B、字符型數(shù)據(jù)是使用單引號或雙引號括起來的一個或多個字符
C、JavaScript與Java不同,它沒有char數(shù)據(jù)類型,要表示單個字符,必須使用長度為1的字符串。
34.以下關(guān)于JavaScript事件及其處理的幾種說法,哪些是正確的?ABD
A、JavaScript代碼與Web頁面之間的交互是通過用戶操作瀏覽器頁面時觸發(fā)相關(guān)事件來實現(xiàn)的;
B、事件處理程序是指用來響應(yīng)某個事件而執(zhí)行的處理程序;
C、事件處理程序不能是任意的JavaScript語句,而必須使用特定的自定義函數(shù)來處理事件;
D、在HTML中分配事件處理程序,只需要在HTML標記中添加相應(yīng)的事件,并在其中指定要執(zhí)行的代碼或函數(shù)名即可;
E、JavaScript沒有提供任何事件處理機制,因此無法實現(xiàn)JavaScript代碼與Web頁面之間的交互。
解析:C
HTML 事件處理程序:將 JS 代碼字符串賦值給 HTML 事件屬性。
**作用域:**在全局作用域中運行。但能直接拿到事件對象 event,尤其是在表單元素中的應(yīng)用。
缺點:
- 可能存在 HTML 事件被觸發(fā),但事件處理程序還未定義的情況。如,上面示例中,若 script 標簽定義在頁面底部且遠遠晚于 input 標簽,就極可能出現(xiàn)這種情況。此時,應(yīng)使用 try catch 來規(guī)避錯誤。
- 不同瀏覽器下可能會出現(xiàn)作用域鏈不同的情況。
- HTML 代碼與 JS 代碼耦合緊密,修改不方便。
E:js可以與web交互
35.對于id為"name"的文本框,判斷其輸入不為空的正確的JavaScript代碼是**__C___D**。
A、if(document.getElementsByName(“name”).value.length == 0)
alert(“輸入不能為空!”);
B、if(document.getElementsByName(“name”).value == “”)
alert(“輸入不能為空!”);
C、if(document.getElementById(“name”).value.length == 0)
alert(“輸入不能為空!”);
D、if(document.getElementById(“name”).value == “”)
alert(“輸入不能為空!”);
36.最基本的HTML文檔(網(wǎng)頁)由以下哪4個標記組成?ABDF
A、<HTML>
B、<HEAD>
C、<FORM>
D、<BODY>
E、<TABLE>
F、<TITLE>
37.下列選項中,符合URL語法的是**__**_。BC
A、www.sohu.com
B、ftp://www.ibm.com
C、http://www.abcd.com/x/y/z?a=b&m=n
D、C://WINDOWS/system32
解析:ftp 通過 FTP訪問資源。格式 FTP://
http 通過 HTTP 訪問該資源。 格式 HTTP://
https 通過安全的 HTTPS 訪問該資源。 格式 HTTPS://
38.在以下幾項關(guān)于JavaScript函數(shù)定義和調(diào)用的描述中,哪些是正確的?ABE
A、函數(shù)是由關(guān)鍵字function、函數(shù)名加一組參數(shù)以及置于大括號中的一段代碼來定義的;
B、在同一個頁面中,函數(shù)名必須是唯一的,并且區(qū)分大小寫;
C、在函數(shù)體中必須包含return語句;
D、如果要調(diào)用不帶參數(shù)的函數(shù),直接使用函數(shù)名即可,不需要加上括號;
E、使用函數(shù)可以提高代碼的重用性。
解析:C不是每個函數(shù)體都需要返回
D函數(shù)都要加括號
39.下面的程序使用html語言的基本標記、表格標記和表單標記,創(chuàng)建了用戶注冊頁面(文件名為register.html),頁面顯示結(jié)果如下圖所示。其中的JavaScript函數(shù)verify()用于實現(xiàn):當用戶點擊提交提交按鈕后對用戶名和密碼進行校驗。若校驗失敗,則進行相應(yīng)的提示,并讓用戶重新輸入;若校驗通過(用戶名非空,而且包含兩個漢字或更多漢字;密碼非空,而且密碼長度不少于6位字符),則提示“您的用戶名和密碼均符合要求!”。請通過填空(共8個空)完成程序。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>表單驗證</title>
<script type="text/javascript">
function_(1)____ verify(f) {
var uname = f.uname.value;
var upwd = f.___(2)__upwd_.value;
if(uname != "" && upwd != "") {
if(/[\u4e00-\u9fa5]{2,}/.test(___(3)_uname__)) {
if(/\w{6,}/.test(upwd)){
alert("您的用戶名和密碼均符合要求!");
return ____(4)_ture___;
} else {
alert("您的密碼不符合要求!");
f.upwd.focus();
f.upwd.select();
return false;
}
} else {
alert("您的用戶名不符合要求!");
f.uname.focus();
f.uname.select();
return false;
}
}else{
alert("您的用戶名或密碼為空!!");
return false;
}
}
</script>
</head>
<body>
<form action="" method="" name="myform" onSubmit="___return(5)___ verify(this)">
<table align="center">
<tr>
<td align="right">用戶名</td>
<td><input type="__text__(6)____" name="uname"></td>
</tr>
<tr>
<td align="right">密碼</td>
<td><input type="password" name="upwd"></td>
</tr>
<tr>
<td align="right">性別</td>
<td>
<input type="radio" name="sex" value="男" checked>男
<input type="radio" name="__sex_(7)___" value="女">女
</td>
</tr>
<tr>
<td align="right">專業(yè)方向</td>
<td>
<select name="major">
<option value="軟件開發(fā)與測試">軟件開發(fā)與測試</option>
<option value="信息化與網(wǎng)絡(luò)安全">信息化與網(wǎng)絡(luò)安全</option>
<option value="人工智能軟件開發(fā)與應(yīng)用">人工智能軟件開發(fā)與應(yīng)用</option>
<option value="移動互聯(lián)網(wǎng)軟件開發(fā)與應(yīng)用">移動互聯(lián)網(wǎng)軟件開發(fā)與應(yīng)用</option>
<option value="云計算與大數(shù)據(jù)分析">云計算與大數(shù)據(jù)分析</option>
<option value="物聯(lián)網(wǎng)與智慧城市應(yīng)用軟件開發(fā)">物聯(lián)網(wǎng)與智慧城市應(yīng)用軟件開發(fā)</option>
</select>
</td>
</tr>
<tr>
<td align="right">愛好</td>
<td>
<input type="checkbox" name="hobby" value="唱歌">唱歌
<input type="checkbox" name="hobby" value="登山">登山
<input type="checkbox" name="hobby" value="閱讀">閱讀
<input type="checkbox" name="hobby" value="籃球">籃球
<input type="checkbox" name="hobby" value="書法">書法
</td>
</tr>
<tr>
<td align="right" valign="top" >個人簡介</td>
<td>
<textarea name="cv" rows="3" cols="40">限100字以內(nèi)</textarea>
</td>
</tr>
<tr>
<td align="center" colspan="__2_(8)___">
<input type="submit" value="提交">
<input type="reset" value="重置">
</td>
</tr>
</table>
</form>
</body>
</html>
40.以下程序用于求1~100之間所有整數(shù)的累加和。請在程序清單的空白處(共4處)填寫正確的內(nèi)容,確保程序能正確運行。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>求累加和</title>
<script type="__(1)_text/javascript_">
__(2)var__ sum = 0;
for(i=1; i<=100; i++){
sum += __(3)_i_;
}
__(4)_document_.write("1-100之間的整數(shù)和為:" + sum);
</script>
</head>
<body>
</body>
</html>
第三、四章
1.JSP中的有很多內(nèi)置對象可以方便程序開發(fā),其中不包括( )C
A、out
B、request
C、redirect
D、response
解析:內(nèi)置對象有:1、Request對象;2、Response對象;3、out對象;4、session對象;5、application對象;6、PageContext對象;7、Config對象;8、Page對象;9、Exception對象。
1.login.jsp---登錄表單頁面
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>登錄頁</title>
</head>
<body>
<form name="reg" action="DoLogin.jsp" method="post" >
用戶名:<input type="text" name="username" value=""/><font color="red">用戶名不能為空!</font><br>
<input type="(1)submit" value="登錄">
<input type="reset" value="取消">
</form>
</body>
</html>
2.DoLogin.jsp---處理頁,用戶名為a的用戶登錄成功,其它為失敗
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
String username=(2)request.getParameter("username");
if("a".equals(username)){
session.(3)setAttribute("username", "a");//username放入session
%>
<jsp:(4)forward page="suc.jsp"/>
<%
}
else{
%>
<jsp:forward page="(5)fal.jsp" />
<%
}
%>
</body>
</html>
3.suc.jsp---顯示a登錄成功
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%=(6) request.getParameter("username")%>登錄success!
<a href="good.jsp">去購物</a></body>
</html>
4.fal.jsp---登錄失敗,3秒跳轉(zhuǎn)到login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
failure!
<%response.setHeader(7)("(8)refresh", "3;url=(9)login.jsp"); %>
</body>
</html>
5.out.jsp---注銷session
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%session.invalidate()(10); %>
</body>
</html>
3.在JSP中,()動作用于將文件包含入JSP頁面。C
A、page
B、forward
C、include
D、taglib
解析:Taglib指令,其實就是定義一個標簽庫以及自定義標簽的前綴。這樣在界面jsp中引入其中的標簽庫或者標簽庫文件,然后才可以正常使用其中定義的標簽。
include在頁面的適當位置整體嵌入另一個文件,在JSP頁面上出現(xiàn)該指令的位置處靜態(tài)嵌入一個文件
forward動作: 實行頁面的跳轉(zhuǎn)
<@page>指令:用來告訴程序編譯時怎么處理
4.Jsp內(nèi)置對象中,(C)是當關(guān)閉瀏覽器,會話信息失效
A、page
B、request
C、session
D、application
解析:page:只在一個頁面中保存屬性,跳轉(zhuǎn)之后無效。 request:只在一次請求中保存,服務(wù)器跳轉(zhuǎn)后依然有效。 session:在一次會話范圍中,無論何種跳轉(zhuǎn)都可以使用,但是新開瀏覽器無法使用。 application:在整個服務(wù)器上保存,所有用戶都可以使用
5.JSP在執(zhí)行過程中經(jīng)過( )階段,會將Java源碼轉(zhuǎn)換成.class文件B
A、提交
B、編譯
C、執(zhí)行
D、響應(yīng)
6.在JSP頁面中,下列( A)表達式語句可以獲取頁面請求中名字為title的文本框的內(nèi)容
A、<%=request.getParameter(“title”)%>
B、<%=request.getAttribute(“title”)%>
C、<%=request.getParameterValues(“title”)%>
D、<%=request.getParameters(“title”)%>
解析:
可以通過request對象的getParameter()方法獲取訪問請求參數(shù)。
getAttribute()獲取屬性
Stringlangtype[]=request.getParameterValues("langtype");
//用getParameterValues的方法,將核取到的值取到langtype[]陣列
7.在JSP中,假設(shè)表單的method=“post”,在收到表請求時處理中文亂碼的正確做法是A
A、request.setCharacterEncoding(“utf-8”);
B、response.setCharacter(“utf-8”);
C、request.setContentType(“text/html;charset=utf-8”);
D、response.setContentType(“text/html;charset=utf-8”);
8.JSP中存在如下代碼:<%=“3”+“6” %>,運行該JSP后,以下說法正確的是(B )
A、沒有任何輸出
B、36
C、9
D、指令將引發(fā)錯誤
解析:拼接
9.JSP頁面的page指令主要用于設(shè)置該頁面的各種屬性,page指令的language屬性的作用是(C )
A、將需要的包和類引入到JSP頁面中
B、指定JSP頁面采用的編碼方式,默認為text/html
C、指定JSP頁面使用的腳本語言,默認為Java
D、指定服務(wù)器所在國家編碼
10.可以利用jsp改變客戶端的響應(yīng)的是(A)
A、response.setHeader();
B、request.setCharacterEncoding()
C、out.println()
D、page.setAttribute()
解析:B設(shè)置編碼,C打印輸出,D在當前JSP頁面中,可以使用request對象的setAttribute()方法將數(shù)據(jù)(屬性或變量)保存到request范圍內(nèi)的變量中。
11.在JSP中如果要導(dǎo)入java.util.*包要使用什么指令
A、page
B、taglib
C、include
D、forward
解析:<%@ page import=“java.util.*” %>
12.對于預(yù)定義<%!預(yù)定義%>的說法錯誤的是:(C)
A、一次可聲明多個變量和方法,只要以“;”結(jié)尾就行
B、一個聲明僅在一個頁面中有效。
C、聲明的變量將作為局部變量
D、在預(yù)定義中聲明的變量將在JSP頁面初始化時初始化
13.Application對象在(C)間共享
A、某個訪問者所訪問的當前頁面
B、某個訪問者所訪問的網(wǎng)站的各個頁面
C、該服務(wù)器上所有訪問者的所有JSP頁面
D、該服務(wù)器上所有訪問者的所有JSP頁面和Java程序
14.page指令用于定義JSP的全局屬性,下面關(guān)于指令描述不正確的是(D)
A、<%@page%>作用于整個JSP頁面
B、可以在頁面中使用多個<%@page指令%>
C、為了增強程序的可讀性,最好將<%@page%>指令放在開頭,但不是必須的
D、<%@page%>指令只能出現(xiàn)一次
15.在jsp頁面中使用forward指令,瀏覽器的地址欄(B)
A、會改變
B、不會改變
C、跟超鏈接一樣
D、不確定
16.可以在哪個標記中插入變量和方法D
A、<%%>
B、<%
C、<%–%>
D、<%!%>
解析:<%%>:<%%>之間可以寫服務(wù)器端代碼,中間一般放函數(shù)或方法,<%!%>里聲明的變量和方法都是作為類的屬性和方法存在的全局變量而<%%>里聲明的變量則是作為局部變量
17.page指令中的import屬性可以多次發(fā)生 正確
解析:import 屬性值可以使逗號:<%@page import=”java.net.,java.util.,java.sql.*”%>
import 屬性是唯一可以重復(fù)出現(xiàn)的屬性:
但是,我們一般會使用多個 page 指令來導(dǎo)入多個包:
<%@ page import=”java.util.”%> <%@ page import=”java.net.”%> <%@ page import=”java.text.*”%>
18.jsp:include和<%@include%>的處理方法一樣 錯誤
解析:對于靜態(tài)包含,<%@include%>,中包含的文件,只是簡單的嵌入到主文件中,就是在jsp頁面轉(zhuǎn)化成Servlet時才嵌入到主文件中,因為運行的結(jié)果是只生成了一個Servlet。
而對于動態(tài)包含jsp:incude,如果被包含文件是動態(tài)的,那么就會生成兩個Servlet,也就是被包含文件也要經(jīng)過jsp引擎編譯執(zhí)行生成一個Servlet,兩個Servlet通過request和reponse進行通信。如果被包含的文件是靜態(tài)的,那么這種情況和%@include就很相似,只生成了一個Servlet,但是他們之間沒有進行簡單的嵌入,而依然是通過request和reponse進行的通信。
19.forward之后可以使用原來的request對象 正確
20.JSP實現(xiàn)的功能均可有servlet實現(xiàn) 正確
21.sendRedirect之后可以使用原來的request對象 錯誤
解析:forward之后可以使用原來的request對象 而且效率較高,sendRedirect之后不可以使用原來的request對象而且效率較低
第五、六章
1.下面的選項加載MySQL驅(qū)動正確的是哪一個?B
A、Class.forname(“com.mysql.JdbcDriver”);
B、 Class.forname(“com.mysql.jdbc.Driver”);
C、 Class.forname(“com.mysql.driver.Driver”);
D、Class.forname(“com.mysql.jdbc.MySQLDriver”);
解析:
Class.forName("com.mysql.jdbc.Driver");
2.PreparedStatement對象的executeUpdate()方法能夠執(zhí)行哪些sql語句?ABD
A、insert
B、update
C、select
D、delete
解析:方法executeUpdate:用于執(zhí)行INSERT、UPDATE或DELETE語句以及SQLDDL(數(shù)據(jù)定義語言)語句
executeQuery()方法會把數(shù)據(jù)庫響應(yīng)的查詢結(jié)果存放在ResultSet類對象中供使用。
3.在jsp:useBean中,使用哪個屬性來表示JavaBean實例化對象的名字?B
A、name
B、class
C、scope
D、id
解析:
<jsp:useBean id="book" class="vo.Book" scope="page">
<jsp:setProperty name="book" property="*" />
</jsp:useBean>
useBean
id:相當于實例化一個類對象(所以可以和你的bean類不一樣)
class:指定javaBean的完整類名,需要帶有包名
scope:存儲的范圍,默認是page
setProperty
name:已經(jīng)在“jsp:useBean”中創(chuàng)建的Bean實例的名字。
那么在下面進行操作時也要一致
pstmt.setInt(1,book.getId());
pstmt.setString(2, book.getName());
pstmt.setString(3,book.getPrice());
pstmt.setString(4, book.getAuthor());
這里就是book,而不是我們的Book類
4.有關(guān) JDBC的選項正確的是哪一個?D
A、JDBC是一種被設(shè)計成通用的數(shù)據(jù)庫連接技術(shù),JDBC 技術(shù)不光可以應(yīng)用在Java程序里面,還可以用在C++這樣的程序里面。
B、 JDBC技術(shù)是 SUN公司設(shè)計出來專門用在連接 Oracle 數(shù)據(jù)庫的技術(shù),連接其他的數(shù)據(jù)庫只能采用微軟的 ODBC解決方案。
C、微軟的 ODBC和 SUN公司的 JDBC 解決方案都能實現(xiàn)跨平臺使用,只是 JDBC 的性能要高于 ODBC。
D、JDBC只是個抽象的調(diào)用規(guī)范,底層程序?qū)嶋H上要依賴干每種數(shù)據(jù)庫的驅(qū)動文件。
進行:JDBC是Java的,JDBC可以連接包括mysql.oracle,postgrep等數(shù)據(jù)庫
5.在JDBC編程中執(zhí)行完下列SQL語句SELECT name,rank,serialNo
FROM employee ,能得到rs 的第一列數(shù)據(jù)的代碼是哪兩個?BD
A、rs.getString(0);
B、rs.getString("name ");
C、 rs.getString(1);
D、rs.getString(next);
解析:第一列數(shù)據(jù)即1或name
6.使用jsp:setProperty動作標識可以在JSP頁面中設(shè)置Bean的屬性,但必須保證Bean有對應(yīng)的什么方法?B
A、SetXxx方法
B、setXxx方法
C、getXxx方法
D、GetXxx方法
7.JavaBean可以通過相關(guān)JSP動作指令(動作標識)進行調(diào)用。下面哪些屬于JavaBean可以使用的JSP動作指令?ACD
A、jsp:useBean
B、jsp:setParameter
C、jsp:setProperty
D、jsp:getProperty
8.以下哪些PreparedStatement接口的特點?AB
A、使用PreparedStatement接口發(fā)送的SQL語句,可以帶有參數(shù);
B、PreparedStatement可對SQL進行預(yù)編譯,從而提高數(shù)據(jù)庫的執(zhí)行效率
C、PreparedStatement接口不是Statement接口的子接口;
D、PreperedStatement可以避免SQL注入式攻擊。
解析:C是子接口
9.下面選項的MySQL數(shù)據(jù)庫 URL正確的是哪一個?C
A、jdbc:mysql://localhost/company
B、Jdbc:mysql://localhost:3306:company
C、 jdbc:mysql://localhost:3306/company
D、jdbcmysql:localhost//3306/company
解析:
"jdbc:mysql://localhost:3306/javaweblearn"
以下程序代碼,通過JDBC實現(xiàn)圖書信息添加功能,請補充完整代碼。
1)在MySQL數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)庫名稱為book,圖書信息表tb_books,其結(jié)構(gòu)包括屬性列id(圖書編號),name(圖書名稱),price(圖書價格),author(作者)。數(shù)據(jù)類型分別為Integer,VARCHAR(45),DOUBLE,VARCHAR(45) 。
2)在vo包下創(chuàng)建名稱為Book的類,用于封裝圖書對象信息。
3)創(chuàng)建index.jsp頁面,該頁面用于添加圖書信息。
4)創(chuàng)建addBook.jsp頁面,該頁面用于對添加圖書信息請求進行處理,通過JDBC將所提交的圖書信息寫入到數(shù)據(jù)庫中。關(guān)鍵代碼如下:
<jsp:useBean id="book" class=" vo.Book ① " scope="page"/>
<jsp:setProperty name=" book ② " property="* "/>
<%
public static final String DBDRIVER="com.mysql.jdbc.Driver";
public static final String DBURL="jdbc:mysql://localhost:3306/ book ③ ";
public static final String DBUSER="root";
public static final String DBPASS="123456";
private Connection conn=null;
private PreparedStatement pstmt=null;
try {
Class.forName( DBDRIVER ④ );
this.conn=DriverManager.getConnection(DBURL, DBUSER ⑤ , DBPASS ⑥ );
String sql=" insert into tb_books values(?,?,?,?) ⑦ ";
this.pstmt= this.conn.prepareStatement(sql) ⑧ ;
pstmt.setInt(1,book. getId());
pstmt.setString(2, book.getName ());
pstmt.setString(3, book.getPrice() ⑨ );
pstmt.setString(4, book. getAuthor ());
if( pstmt.executeUpdate() ⑩ >0){
out.println("添加信息成功!");
}
this.pstmt.close();
this.conn.close();
} catch (Exception e) {
out.println("添加信息失??!");
e.printStackTrace(); }
%>
11.有關(guān) Connection 描述錯誤的是哪一個?D
A、 Connection 是 Java 程序與數(shù)據(jù)庫建立的連接對象,這個對象只能用來連接
數(shù)據(jù)庫,不能執(zhí)行 SQL 語句。
B、JDBC 的數(shù)據(jù)庫事物控制要靠 Connection 對象完成。
C、Connection 對象使用完畢后要及時關(guān)閉,否則會對數(shù)據(jù)庫造成負擔(dān)。
D、只用MySOL和 Oracle 數(shù)據(jù)庫的JDBC 程序需要創(chuàng)建 Connection 對象,其他不需要創(chuàng)建Connection對象。
解析:連接數(shù)據(jù)庫都需要創(chuàng)建Connection對象
12.關(guān)于DAO模式,以下哪些說法是正確的?ABD
A、DAO的全稱是Data Access Object;
B、DAO的主要功能是用來進行數(shù)據(jù)操作的,在程序的標準開發(fā)架構(gòu)中屬于數(shù)據(jù)層的操作;
C、在DAO模式中,沒有專門負責(zé)數(shù)據(jù)庫的打開與關(guān)閉操作的類;
D、在整個DAO中,實際上都是以接口為操作標準的,即:客戶端依靠DAO實現(xiàn)的接口進行操作,而服務(wù)端要將接口進行具體的實現(xiàn)。
解析:DAO(Data Access Object)數(shù)據(jù)訪問對象。主要的功能就是用于進行數(shù)據(jù)操作的,在程序的標準開發(fā)架構(gòu)中屬于數(shù)據(jù)層的操作
例如:
StudentDaoImp
/*
*
* author:cai4
* user:2013040544-qishijie
* date:2022/5/5 上午9:00
* school:NUC
* /
*/
package com.dao;
import com.conn.Conn;
import com.student.Student;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class StudentDaoImp implements StudentDao {
//學(xué)生注冊
@Override
public int InsertStudent(Student student) throws Exception {
//連接數(shù)據(jù)庫
//操作sql對象;insert into student("","");
//執(zhí)行語句
int rs = 0;
try{
Conn conn = new Conn();
Connection dbc = conn.getConnection();
PreparedStatement pstmt = dbc.prepareStatement("insert into user values (?,?)");
pstmt.setString(1,student.getSno());
pstmt.setString(2,student.getSname());
rs = pstmt.executeUpdate();
}catch (Exception e){
e.printStackTrace();
}
return rs;
}
//學(xué)生登錄
@Override
public ResultSet LoginStudent(Student student) throws Exception {
ResultSet rs = null;
Conn conn = new Conn();
Connection dbc = conn.getConnection();
PreparedStatement pstmt = dbc.prepareStatement("select * from user where sno=? and sname=?");
pstmt.setString(1,student.getSno());
pstmt.setString(2,student.getSname());
rs = pstmt.executeQuery();
return rs;
}
}
StudentDao
/*
*
* author:cai4
* user:2013040544-qishijie
* date:2022/5/5 上午8:58
* school:NUC
* /
*/
package com.dao;
import com.student.Student;
import java.sql.ResultSet;
public interface StudentDao {
public int InsertStudent(Student student) throws Exception;
public ResultSet LoginStudent(Student student) throws Exception;
}
在整個DAO中實際上都是以接口為操作標準的,即:客戶端依靠DAO實現(xiàn)的接口進行操作,而服務(wù)端要將接口進行具體的實現(xiàn)。DAO由以下幾個部分組成。
DatabaseConnection:專門負責(zé)數(shù)據(jù)庫的打開與關(guān)閉操作的類
VO:主要由屬性、setter、getter方法組成,VO類中的屬性與表中的字段相對應(yīng),每一個VO類的對象都表示表中的每一條記錄;
DAO:主要定義操作的接口,定義一系列數(shù)據(jù)庫的原子性操作,例如:增加、修改、刪除、查詢等;
Impl : DAO接口的真實實現(xiàn)類,完成具體的數(shù)據(jù)庫操作,但是不負責(zé)數(shù)據(jù)庫的打開和關(guān)閉;
Proxy :代理實現(xiàn)類,主要完成數(shù)據(jù)庫的打開和關(guān)閉,并且調(diào)用真實實現(xiàn)類對象的操作
Factory :工廠類,通過工廠類取得一個DAO的實例化對象
13.哪個不是JDBC 用到的接口和類?A
A、System
B、 Class
C、Connection
D、ResultSet
解析:在Java語言中提供了豐富的類和接口用于數(shù)據(jù)庫編程,利用這些類和接口可以方便地進行數(shù)據(jù)訪問和處理,本節(jié)將介紹一些常用的JDBC接口和類,這些類或接口都在java.sql包中。
1、Connetction接口
Connetction接口代表與特定的數(shù)據(jù)庫的連接,在連接上下文中執(zhí)行SQL語句并返回結(jié)果,它的常用方法如下所示:
方法 | 功能描述 |
---|---|
createStatement() | 創(chuàng)建Statement對象 |
createStatement(int resulteSetType, int resulteSetCocurrency) | 創(chuàng)建一個Statement對象,該對象將生成具有給定類型、并發(fā)性和可保存性的ResulteSet對象 |
preparedStatement() | 創(chuàng)建預(yù)處理對象preparedStatement |
isReadOnly() | 查看當前Connetction對象的讀取模式是否為只讀形式 |
setReadOnly() | 設(shè)置當前Connetction對象的讀寫模式,默認為非只讀模式 |
commit() | 使所有上一次提交/回滾后進行的更改成為持久更改,并釋放此Connection對象當前持有的所有數(shù)據(jù)庫鎖 |
roolback() | 取消在當前事務(wù)中進行的所有更改,并釋放此Connection對象當前持有的所有數(shù)據(jù)庫鎖 |
close() | 立即釋放此Connection對象的數(shù)據(jù)庫和JDBC資源,而不是等待它們被自動釋放 |
2、Statement接口
Statement接口用于在已經(jīng)建立連接的基礎(chǔ)上向數(shù)據(jù)庫發(fā)送SQL語句。在JDBC中有3種Statement對象,分別是Statement、PreparedStatement和CallableStatement。Statement對象用于執(zhí)行不帶參數(shù)的簡單的SQL語句;PreparedStatement繼承了Statement,用來執(zhí)行動態(tài)的SQL語句;CallableStatement繼承了PreparedStatement,用于執(zhí)行對數(shù)據(jù)庫的存儲過程的調(diào)用。Statement接口的常用方法如下所示:
方法 | 功能描述 |
---|---|
execute(String sql) | 執(zhí)行靜態(tài)的SELECT語句,該語句可能返回多個結(jié)果集 |
executeQuery(String sql) | 執(zhí)行給定的SQL語句,該語句返回單個ResulteSet對象 |
clearBatch() | 清空此Statement對象的當前SQL命令列表 |
executeBath() | 將一批命令提交給數(shù)據(jù)庫來執(zhí)行,如果全部命令執(zhí)行成功,則返回更新計數(shù)組成的數(shù)據(jù)。數(shù)據(jù)元素的排序與SQL語句的添加順序?qū)?yīng) |
addBatch(String sql) | 將給定的SQL命令添加到此Statement對象的當前命令列表中。如果驅(qū)動程序不支持批量處理,將拋出異常 |
close() | 釋放Statement實例占用的數(shù)據(jù)庫和JDBC資源 |
3、PreparedStatement接口
PreparedStatment接口用來動態(tài)地執(zhí)行SQL語句。通過PrepardStatement實例執(zhí)行的動態(tài)SQL語句,將被預(yù)編譯并保存到PreparedStatement實例中,從而可以反復(fù)第執(zhí)行該SQL語句。PreparedStatement接口的常用方法如下所示:
方法 | 功能描述 |
---|---|
setInt(int index, int k) | 將指定位置的參數(shù)設(shè)置為int值 |
setFloat(int index, float f) | 將指定位置的參數(shù)設(shè)置為float值 |
setLong(int index, long l) | 將指定位置的參數(shù)設(shè)置為long值 |
setDouble(int index, double d) | 將指定位置的參數(shù)設(shè)置為double值 |
setBoolean(int index, boolean b) | 將指定位置的參數(shù)設(shè)置為boolean值 |
setDate(int index, date date) | 將指定位置的參數(shù)設(shè)置為date值 |
executeQuery() | 在此PreparedStatement對象中執(zhí)行SQL查詢,并返回該查詢生成的ResulteSet對象 |
setString(int index, String s) | 將指定位置的參數(shù)設(shè)置為對應(yīng)的String值 |
setNull(int index, intsqlType) | 將指定位置的參數(shù)設(shè)置為SQL NULL |
executeUpdate() | 執(zhí)行前面包含的參數(shù)的動態(tài)INSERT、UPDATE或DELETE語句 |
clearParameters() | 清除當前所有參數(shù)的值 |
4、DriverManager類
DriverManager類用來管理數(shù)據(jù)庫中的所有驅(qū)動程序。它是JDBC的管理層,作用域用戶和驅(qū)動程序之間,跟蹤可用的驅(qū)動程序,并在數(shù)據(jù)庫的驅(qū)動程序之間建立連接。如果通過getConnection()方法可以建立連接,則經(jīng)連接返回,否則拋出SQLException異常。DriverManager類的常用方法如下所示:
方法 | 功能描述 |
---|---|
getConnection(String url, String user, String password) | 指定3個入口參數(shù)(依次是連接數(shù)據(jù)庫的URL、用戶名、密碼)來獲取與數(shù)據(jù)庫的連接 |
setLoginTimeout() | 獲取驅(qū)動程序試圖登錄到某一數(shù)據(jù)庫是可以等待的最長時間,以秒為單位 |
println(String message) | 將一條消息打印到當前JDBC日志流中 |
5、ResulteSet接口
ResultSet接口類似于一個臨時表,用來暫時存放數(shù)據(jù)庫卡查詢操作所獲得結(jié)果集。ResulteSet實例具有指向當前數(shù)據(jù)行的指針,指針開始的位置在第一條記錄的前面,通過next()方法可將指針向下移。
在JDBC2.0(JDK1.2)之后,該接口添加了一組更新方法updateXXX(),該方法有兩個重載方法,可根據(jù)列的索引號和列的名稱來更新指定列。但該方法并沒有將對數(shù)據(jù)進行的操作同步到數(shù)據(jù)庫中,需要執(zhí)行updateRow()或insertRow()方法更新數(shù)據(jù)庫。ResulteSet接口的常用方法如下:
方法 | 功能描述 |
---|---|
getint() | 以int形式獲取此ResulteSet對象的當前行的指定列值。如果列值是NULL,則返回值是0 |
getFloat() | 以float形式獲取此ResulteSet對象的當前行的指定列值。如果列值是NULL,則返回值是0 |
getDate() | 以date形式獲取此ResulteSet對象的當前行的指定列值。如果列值是NULL,則返回值是null |
getBoolean() | 以boolean形式獲取此ResulteSet對象的當前行的指定列值。如果列值是NULL,則返回值是null |
getString() | 以String形式獲取此ResulteSet對象的當前行的指定列值。如果列值是NULL,則返回值是null |
getObject() | 以O(shè)bject形式獲取此ResulteSet對象的當前行的指定列值。如果列值是NULL,則返回值是null |
first() | 將指針移到當前記錄的第一行 |
last() | 將指針移到當前記錄的最后一行 |
next() | 將指針向下移一行 |
beforeFirst() | 將指針移到集合的開頭(第一行位置) |
afterLast() | 將指針移到集合的尾部(最后一行位置) |
absolute(int index) | 將指針移到ResulteSet給定編號的行 |
isFirst() | 判斷指針是否位于當前ResulteSet集合的第一行。如果是返回true,則返回false |
isLast() | 判斷指針是否位于當前ResulteSet集合的最后一行。如果是返回true,則返回false |
updateInt() | 用int值更新指定列 |
updateFloat() | 用float值更新指定列 |
updateLong() | 用指定的long值更新指定列 |
updateString() | 用指定的String值更新指定列 |
updateObject() | 用Object值更新指定列 |
updateNull() | 將指定的列值修改為NULL |
updateDate() | 用指定的date值更新指定列 |
updateDouble() | 用指定的double值更新指定列 |
getrow() | 查看當前行的索引號 |
insertRow() | 將插入行的內(nèi)容插入到數(shù)據(jù)庫 |
updateRow() | 將當前行的內(nèi)容同步到數(shù)據(jù)表 |
deleteRow() | 刪除當前行,但并不同步到數(shù)據(jù)庫中,而是在執(zhí)行close()方法后同步到數(shù)據(jù)庫 |
14.在jsp:setProperty和jsp:getProperty中,哪個屬性用來表示JavaBean實例化對象的名字?A
A、name
B、class
C、scope
D、id
<jsp:useBean id="book" class="vo.Book" scope="page">
<jsp:setProperty name="book" property="*" />
</jsp:useBean>
name=“book”
15.在JSP中,使用動作可以將JavaBean嵌入JSP頁面,對JavaBean的訪問范圍不能是(C )。
A、page
B、request
C、response
D、application
解析:javabean訪問范圍就是jsp的四大域?qū)ο螅?/p>
1.JavaBean在page作用域中
表示JavaBean有效范圍僅為其所在的JSP頁面,如果用戶關(guān)閉該JSP頁面,處理響應(yīng)用戶請求的 JavaBean也會消失。服務(wù)器分配給每個客戶端的JavaBean是不同的。
在page作用域中,JavaBean在以下倆種情況結(jié)束生命周期:
JSP頁面通過forword轉(zhuǎn)發(fā)請求到另一文件時。
訪問當前JSP頁面執(zhí)行完畢并向客戶端返回響應(yīng)時。
2.JavaBean在request作用域中
表示分配給每個客戶的JavaBean不同,且有效范圍在request請求期間,即在請求與被請求頁面之間共享JavaBean。當對請求作出響應(yīng)后,JavaBean就會被取消。
客戶端訪問當前JSP頁面執(zhí)行完畢并向客戶端返回響應(yīng)時,JavaBean結(jié)束生命周期。
3.JavaBean在session作用域中
表示分配給每個客戶的JavaBean不同,但在同一客戶打開的多個JSP頁面,即一次會話期間,用的是同一個JavaBean。如果在同一客戶的不同JSP頁面中,聲明了相同id的JavaBean且范圍仍為session,更改JavaBean的成員變量值,則其它頁面中id名相同的Bean的成員變量也會被改變。當客戶從服務(wù)器端請求的所有網(wǎng)頁都被關(guān)閉時,與該客戶這一次會話對應(yīng)的JavaBean也會被取消。JavaBean對象被創(chuàng)建后,存在于當前回話中,在同一會話中,共享同一個JavaBean。
4.JavaBean在application作用域中
表示在這種情況下服務(wù)器端所有客戶之間共享JavaBean。如果其中一個客戶改變了JavaBean成員變量值,其它客戶使用的這個JavaBean的相應(yīng)變量值也會發(fā)生改變。當服務(wù)器關(guān)閉時,JavaBean才會被取消。
JavaBean對象被創(chuàng)建后,一直存在于當前Web應(yīng)用程序的生命周期中,在此應(yīng)用程序中,共享同一JavaBean。
16.下面的描述錯誤的是什么?B
A、Statement 的 executeQuery()方法會返回一個結(jié)果集
B、Statement 的executeUpdate() 方法會返回是否更新成功的布爾值
C、使用ResultSet 中的 getString( )可以獲得一個對應(yīng)于數(shù)據(jù)庫中 char 類型的值
D、ResultSet中的next0 方法會使結(jié)果集中的下一行成為當前行文章來源:http://www.zghlxwxcb.cn/news/detail-446191.html
解析:executeQuery返回結(jié)果集類型的對象,A正確。(1) 對于 SQL 數(shù)據(jù)操作語言 (DML) 語句,返回行計數(shù) (2) 對于什么都不返回的 SQL 語句,返回 0 B錯誤。getString()是用于獲取數(shù)據(jù)庫中的varchar和char類型的值。C正確。next方法兩個作用:使結(jié)果集中下一行成為當前行,并返回當前行是否有效的布爾值。D正確。雖然D選項描述不完整,但是所描述的內(nèi)容是正確的。文章來源地址http://www.zghlxwxcb.cn/news/detail-446191.html
到了這里,關(guān)于javaweb習(xí)題集的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!