JSP相關練習題及答案(有詳解)

1.下列不是JSP隱含變量的是______。

A、request
B、out
C、context
D、session
解析:JSP有九大隱含對象,out, request, response, config, session, application, page, pageContext, exception
2.可以在以下哪個____標記之間插入變量與方法聲明?

A、<% 和 %>

B、 <%!和 %>

C、</ 和 %>

D、<% 和 !>
解析:

標籤 作用
<% %> 可定義局部變量,編寫語句,不能進行方法定義 ,也可輸出內容
<%! %> 可定義全局變量,方法,類
<%= %> 之間插入表達式,不能是語句,主要用來輸出內容

3.在J2EE中,在一個JSP文件中,有表達式<%=2+3 %>,它將輸出______。

A、2+3

B、5

C、23

D、不會輸出,因爲表達式是錯誤的
解析:2+3是一個表達式,2+3=5,即輸出結果5

4.在JSP中,以下的page指令設置了使用的腳本語言是Java,且導入了!java.rmi.*!和java.util.*包.正確的是___

A、<%@ page Language=“Java”, import=”java.rmi.;java.uitl. ”%”>

B、<%@ page language=“Java” Import=”java.rmi.,java.uitl. ”%”>

C、<%@ page language=“Java”; import=”java.rmi.;java.uitl. ”%”>

D、<%@ page language=“Java” import=”java.rmi.* ,java.uitl.* ”%>
解析:page指令對頁面的某些特徵進行描述,語法格式爲:
<%@ page 屬性名1=“值1” 屬性名2=“值2” …%> 注意:屬性之間用空格表示

5.下列不屬於JSP構成元素的是_____

A、腳本

B、聲明

C、表達式

D、JavaScript
解析:

JSP組成元素 介紹
模板元素 html、xml
註釋元素 html註釋,jsp註釋 等
指令元素 page指令,,include指令,taglib等
腳本元素 聲明,表達式,scriptlets
動作元素 jsp:includejsp:forward

6.在JSP中如果要導入java.io.* 包,應該使用______指令

A、page

B、include

C、taglib

D、Forward
解析:page的常用指令包括iimport 屬性,其作用是導入任何類類名,包名,且Import是唯一可以聲明多次的page屬性,可以一次引用多個類,中間用英文逗號隔開

7.在JSP中,page指令的____屬性用來引入需要的包或類。

A、extends

B、import

C、languge

D、contentType
解析:page的常用指令包括import,language,contType 屬性,
import作用是導入任何類類名,包名,
language是解釋該JSP文件時採用的語言,默認爲java,
contentType讓客戶端瀏覽器該屬性判斷文檔類型

8.在JSP中,只有一行代碼:<%=A+B%>,運行將輸出_____。

A、A+B
B、AB
C、113
D、沒有任何輸出,因爲表達式是錯誤的
解析:這個表達式顯而易見是錯誤的
若表達式是<%= ‘A’+‘B’>, 單引號是這兩個字母十進制則A在ASC碼中爲 65 .B=66,即輸出131
若表達式爲<%= “A+B”>,拼接字符串,則輸出A+B
若表達式爲<%= A+B>,沒有單引號也沒有雙引號 並且A和B 也沒有賦值 會報錯

9.下列動態網頁和靜態網頁的根本區別描述錯誤的是______。

A、靜態網頁服務器端返回的HTML文件是事先存儲好的

B、動態網頁服務器端返回的HTML文件是程序生成的。

C、靜態網頁文件裏只有HTML標記,沒有程序代碼

D、動態網頁中只有程序,不能有HTML代碼。

解析:靜態網頁是網站建設的基礎,靜態網頁和動態網頁之間並不矛盾,動態網站也可以採用靜動結合的原則,在同一個網站上,動態網頁內容和靜態網頁內容同時存在也是很常見的事情。

10.當瀏覽器第二次訪問以下JSP網頁時的輸出結果是什麼?

<%! int a=0; %>
<%
    int b=0;
    a++;
    b++;
%>
a: <%=a %>
b: <%=b %>

選項:

A、a=0 b=0

B、a=1 b=1

C、a=2 b=1

D、a=2 b=2
解析:<%! %>定義的是全局變量,<% %>定義的是局部變量,所以每次b在你每次訪問頁面的時候都被重新賦值成0了,0加1一直都是1。a是全局聲明的變量。沒有被重置成0,而是每次訪問時都加一

11.在“<%!”和“%>”標記之間聲明的Java的方法稱爲頁面的成員方法,其在____範圍內有效。

A、從定義處之後有效。

B、在整個頁面內有效。

C、從定義處之前有效。

D、不確定。
解析:<%!%>稱作聲明,其中寫的內容將來會直接翻譯在Servlet類中,<%! %>裏聲明的變量和方法百都是作爲類的屬性和方法存在的,所以在整個頁面有效

12.在JSP中,_______動作用於將請求轉發給其他JSP頁面。

A、forward

B、include

C、useBean

D、setProperty
解析:<jsp:forward>動作用來把當前的jsp頁面重導到另一個頁面上,用戶看到的地址是當前網頁的地址,內容則是另一個網頁的。

我的答案:A 得分: 2.5分
13.可以實現不同網頁之間的數據共享,而且還可以實現跨機共享數據的JSP對象是______。

A、Response對象

B、Session對象

C、Application對象

D、Request對象
解析:

四大對象 解釋
response 主要用於服務器端向客戶端發送數據 ,是JSP中最基本的對象
request 用來訪問任何客戶端用HTML請求傳遞的信息,包括使用POST方法傳遞的參數或利用GET方法送出的請求以及用戶端瀏覽器送出的cookie和server變量集合中大量的標準信息。
session 存儲訪問者的用戶信息,多個頁面可以訪問該信息,但是兩個訪問者之間不能共享該信息。:
application 使用Application對象來使整個ASP應用程序的所有用戶共享數據,把一個ASP程序中的不同用戶、不同頁面聯繫在一起

14.爲了豐富JSP頁面的圖形化佈局,可以使用下面哪個JSP標準動作把一個圖像導入到JSP頁面中?____

A、<jsp:image page=”logo.png”/>

B、<jsp:include page=”logo.png”/>

C、<jsp:include file=”logo.png”/>

D、使用JSP標準動作無法做到

15.JSP的編譯指令標記通常是指____。

A、Page指令、Include指令和Taglib指令

B、Page指令、Include指令和Plugin指令

C、Forward指令、Include指令和Taglib指令

D、Page指令、Param指令和Taglib指令
解析:

編譯指令標記 作用
:page指令 : 用於設置JSP頁面的屬性,這些屬性將用於和JSP容器通信,控制所生成的servlet結構。
include指令 在頁面轉換期間將文件包含到jsp頁面
taglib指令 聲明用戶使用的自定義標籤。

16.______是JSP中最基本的對象,它是用戶與服務器進行交互的基礎。

A、Response對象

B、Session對象

C、Application對象

D、Request對象
解析:參見第13題解析/font>

17.URL是Internet中資源的命名機制,URL由三部分構成_____。

A、協議、主機DNS名或IP地址和文件名

B、主機、DNS名或IP地址和文件名、協議

C、協議、文件名、主機名

D、協議、文件名、IP地址

18.在“<%=”和“%>”標記之間放置_____,可以直接輸出其值。

A、變量

B、Java表達式

C、字符串

D、數字
解析:參見第2題解析

19.在JSP中,test.jsp文件如下,試圖運行時,將發生____。

<% String str = null; %>

stris <%= str%>

A、轉譯期有誤

B、編譯Servlet源碼時發生錯誤

C、執行編譯後的Servlet時發生錯誤

D、運行後,瀏覽器上顯示:stris null

解析:str=null是一個表達式,且str是一個字符串,所以可以運行,,瀏覽器上顯示:stris null

20.下列變量聲明在____範圍內有效。

<%! Date dateTime;

int countNum;

%>

A、從定義開始處有效,客戶之間不共享

B、在整個頁面內有效,客戶之間不共享

C、在整個頁面內有效,被多個客戶共享

D、從定義開始處有效,被多個客戶共享

解析:使用<%! %>定義的變量編譯成servlet後成爲servlet的私有成員變量,在servlet環境中,對於一個JSP頁只允許有一個結果servlet的實例在運行和響應所有的頁面請求。因此,在結果servlet中所有的成員變度量可以被所有的請求所共享,所以只要成員變量沒有重新賦值,下次訪問該頁面時仍然不變。

21.Page指令中的“contenType”屬性是用於指出_____。

A、數據庫類型

B、網頁類型

C、服務器類型

D、用戶類型
解析:參見第7題解析/font>

22.下列註釋方式可以再JSP中使用並且客戶端無法查看的是____。

A、<!—註釋–>

B、<%註釋%>

C、<%–註釋–%>

D、<%!註釋%>
解析:JSP中的隱式註釋有:// 註釋   /*   */ 註釋和<%-- 註釋 --%>
JSP中的顯式註釋有:<!—註釋–>

23.當用戶請求jsp頁面時,JSP引擎就會執行該頁面的字節碼文件響應客戶的請求,執行字節碼文件的結果是______。

A、發送一個JSP源文件到客戶端

B、發送一個Java文件到客戶端

C、發送一個HTML頁面到客戶端

D、什麼都不做。

我的答案:C 得分: 2.5分
24.下列哪個page指令是合法的?______

A、<%page language=”java”%>

B、<%! page language=”java”%>

C、<%@ page language=”java”%>

D、<%@Page language=”java”%>
解析:page指令對頁面的某些特徵進行描述,語法格式爲:
<%@ page 屬性名1=“值1” 屬性名2=“值2” …%> 注意:屬性之間用空格表示

25.pageContext、request、session、application四個內置對象的作用範圍從小到大依次爲__________

A、request、pageContext、session、application

B、request、session、pageContext、application

C、request、session、application、pageContext

D、pageContext、request、session、application
解析:

JSP4個內置對象 作用範圍
page 用戶請求的當前頁面;
request 用戶請求訪問的當前組件,以及和當前web組件共享同一用戶請求的web組件;
session 同一個Http會話中的web組件共享;
application 整個web應用的所有web組件共享,即只要是同一個服務器下的均可使用。

26.在JSP中,給定以下JSP代碼片段,運行結果是_____。

<% int x=5; %>

<%! int x=7; %>

<%!

int getX(){

return x;

}

%>

<% out.print(“X1=”+x); %>

<% out.print(“X2=”+getX()); %>

A、X1=5 X2=7

B、X1=5 X2=5

C、X1=7 X2=7

D、X1=7 X2=5

我的答案:B 得分: 0.0分
27.不是JSP運行必須的是______。

A、操作系統

B、JavaJDK

C、支持Jsp的Web服務器

D、數據庫

解析:jsp開發的時候如果你是用的數據庫本地數據庫那麼你不用聯網了, tomcat就是本地jsp運行服務器了,他給你提供運行jsp的文件,所以用數據庫不是必須的

28.JSP的Page編譯指令的屬性Language的默認值是____。

A、Java

B、C

C、C#

D、SQL
解析:language是解釋該JSP文件時採用的語言,默認爲java

29.當多個用戶請求同一個JSP頁面時,Tomcat服務器爲每個客戶啓動一個_____。

A、進程

B、線程

C、程序

D、服務

解析:對於每一個請求,JSP容器都會創建一個新的線程來處理它。如果多個客戶端同時請求該JSP文件,則JSP容器也會創建多個線程,使得每一個客戶端請求都對應一個線程

30.給定JSP文件代碼如下:

<%!static int I=0;int j=0;%>

<%

for(;j++<2;){

out.print(I++);

out.print(“”);

}

%>

有兩個客戶依次使用瀏覽器瀏覽該jsp,且每個客戶只瀏覽一次,那麼第2個客戶看到瀏覽器顯示____。

A、0 1

B、1 2

C、3 4

D、什麼也沒有

我的答案:A 得分: 0.0分
31.JSP頁面經過編譯之後,將創建一個_______。

A、applet

B、servlet

C、application

D、exe文件

32.在a.jsp中有代碼片斷如下:在b.jsp中加入下列____代碼,可以輸出在a.jsp頁面上輸入的loginName的值。

loginName:<inputtype=”text” name=”loginName”/>

<inputtype=”submit” name=”submit”/>

A、<%=(String) request.getParameter(“loginName”)%>

B、<%=(String) request.gerAttribute(“loginName”)%>

C、<% String name=request.getParameter(“loginname”);out.println(name); %>

D、<% String name-request.getAttribute(“loginname”); out.println(name); %>

33.在JSP中,page指令的_______屬性用來引入需要的包或類。

A、extends

B、import

C、languge

D、contentType
解析:page的常用指令包括import,language,contType 屬性,
import作用是導入任何類類名,包名,
language是解釋該JSP文件時採用的語言,默認爲java,
contentType讓客戶端瀏覽器該屬性判斷文檔類型

34.給定以下JSP代碼片段,有2個客戶依次瀏覽該JSP,且每個客戶只瀏覽一次,第2個客戶會看到瀏覽器顯示____。

<%int x = 1; %>

<%!int x = 10; %>

X =<%= ++x%>

A、X = 1

B、X = 2

C、X = 10

D、X = 11

二.多選題
1.下列page指令的使用正確的是______。

A、<%@ page import="java.util.* java.sql.* "%>

B、<%@ page import="java.util., java.sql. "%>

C、<%@ page import="java.util.;java.sql. "%>

D、<%@page import=“java.util." %> <%@page import="java.sql.” %>

解析:page的常用指令包括iimport 屬性,其作用是導入任何類類名,包名,且Import是唯一可以聲明多次的page屬性,可以一次引用多個類,中間用英文逗號隔開

2.下列屬於JSP內置對象的是________。

A、request

B、response

C、session

D、servletContext

解析:JSP有九大隱含對象,out, request, response, config, session, application, page, pageContext, exception

3.下列request和response內置對象的使用正確的是______。

A、request.getRequestDispatcher(“index.jsp”).forward();

B、response.sendRedirect(“index.jsp”);

C、request.getParameterValues(“name”);

D、response.setContentType(“text/html;charset=gbk”);

4下列JSP表達式的寫法正確的是_____。

A、<%=”abcdefg”.length()%>

B、<%=”abcedfg”+123%>

C、<%=new java.util.Date()%>

D、<%=this%>

5.下列對於JSP說法中正確的是_____。

A、JSP是Sun公司推出的新一代站點開發語言

B、JSP完全解決了目前ASP、PHP的一個通病——腳本級執行

C、JSP將內容的生成和顯示進行分離

D、JSP強調可重用的組件

E、JSP採用標識簡化頁面開發

6.下列關於JSP執行過程的說法正確的是____。

A、JSP在容器啓動時會被翻譯成Servlet,並編譯爲字節碼文件。

B、JSP在第一次被請求時會被翻譯成Servlet,並編譯成字節碼文件。

C、在第二次請求時,將不再執行翻譯步驟

D、如果JSP頁面有錯誤將不再執行翻譯步驟。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章