题型
选择题平均每章3道题
判断题平均每章1道题
编程题重点9、10章
第一章 Java Web开发环境配置
在Web程序结构中,浏览器端与应用服务器端采用请求/响应模式进行交互的过程为()
用户输入、发送请求、访问数据库、返回结果、发送响应、显示
下列说法正确的是()
B/S结构相较于C/S结构服务器负担比较重,快速响应不如C/S结构。
Tomcat安装目录中bin文件夹下存放的文件为()。
支持Tomcat运行的常见.exe文件
JSP的全称为()。
Java Server Pages
下面关于JSP的说法错误的是()。
- A. 利用JSP可以很方便地在页面中生成动态的内容。
- B. JSP是由Sun公司提出的、其他许多公司一起参与建立的一种动态网页技术标准。
- C. JSP开发的Web应用不能跨平台。 ❌
- D. JSP具备了Java技术面向对象、与平台无关性且安全可靠的优点
在下列选项中,正确的URL是()。
下面关于URL的说法错误的是()。
- A. URL的第二部分是协议。 ❌
- B. URL的第二部分是主机的IP地址。
- C. URL的大小写是敏感的。
- D. URL的全称为“统一资源定位符”。
关于Web项目的目录结构,下面说法错误的是()。
- A. WebRoot目录是Web应用的顶层目录,也称为文档的根目录。
- B. web.xml是Web应用的配置文件,可以随意修改。 ❌
- C. lib文件夹里包含了Web应用所需的.jar和.zip文件。
- D. META-INF是系统自动生成、用于存放系统描述信息的文件夹。
WebRoot目录是Web应用的顶层目录,也称为文档的根目录。存放配置文件
WebApps文件夹里的内容是网站资源文件。
META-INF存放系统描述信息的文件夹
WEB-INF 存放部署描述文件在网络应用程序中有两种基本的结构,即客户机/服务器和浏览器/服务器。
Web项目属于B/S结构
在Web程序结构中,浏览器端与应用服务器端请求模式/采用响应进行交互
在应用程序领域,Web是World Wide Web的简称。
Tomcat服务器运行的端口号默认为8080
Tomcat安装目录中webapps文件夹里的内容是网站资源文件。
IDE是帮助用户进行快速开发的软件,它的中文全称集成开发环境(Integrated Development Environment
在Web项目的目录结构中,WebRoot目录用来存放配置文件
一台Tomcat服务器的IP地址为110.74.22.15网站端口号为8080,则访问Web项目Demo中的test.jsp的URL为
https://110.74.22.15:8080/Demo/test.jsp
JSP规范唯一支持的语言是 Java
可以通过修改Tomcat的配置文件进行修改参数,下面的server.xml文件部分代码中,端口号是多少()
1
2
3
4
5<Connector port=”8443” protocol=”HTTP/1.1”
connectionTimeout=”8080”
redirectPort=”8888”/>- A. 8443 ✅
- B. 8888
- C. 8080
- D. 1.1
在Eclipse中,一个Web应用程序的部署描述文件位于( )目录。
- A. WebRoot
- B. META-INF
- C. src
- D. WEB-INF ✅
web.xml 是web应用的配置文件,不能删除或随意修改,位于WEB-INF目录根目录下
关于下面这个URL说法正确的是() http://localhost:8080/Prj01/index.jsp
- A. http是主机地址
- B. localhost是协议
- C. 8080是主机IP地址
- D. prj01是主机资源目录 ✅
http是协议
localhost是主机IP地址或域名
8080是端口号
prj01/index.jsp是主机资源具体地址,如目录和文件名等当用户请求JSP页面时,JSP引擎会执行该页面的字节码文件响应客户的请求,执行字节码文件的结果是()
- A. 发送一个HTML页面到客户端面 ✅
- B. 什么都不做
- C. 发送一个Java文件到客户端
- D. 发送一个JSP源文件到客户端
第二章 HTML基础
HTML语言注释的格式为()。
****
下列关于HTML的说法不正确的是()。
- A. 之间的内容为浏览器中网页上显示的内容。
- B. HTML语言大小写不敏感。
- C. HTML文件必须由开头、结尾。
- D. 之间的内容是用来设置一些网页相关属性和信息的,不可以省略。 ❌
<head></head>
可以省略下面()不是align属性的值。
- A. top ❌
- B. center
- C. right
- D. left
在下列标签中,
<i>内容</i>
是将内容设置为斜体。【表格标签】当设置的属性有重叠时,表元的属性默认情况下总是跟它离得最近的设置相同。
在标签的属性中,
alt
属性能在图片未载入或载入失败时提供替代性的文字说明。表单中的标签表示下拉菜单。
下列关于框架的说法不正确的是()。
- A.
- B. 一个框架网页中的每个窗口都是一个完善的HTML网页。
- C. 在框架中不需要再写。
- D. 每一个表示一个框架窗口,它的排序依次为从左到右、从上到下。
rows
:横向分割网页。属性值决定了分割页面之间的宽度的比值。
cols
:纵向分割网页。属性值决定了分割页面之间的长度的比值。
border
:框架边框的宽度。当值为 0 时,表示没有边框。HTML的中文名称是超文本标记语言。
在HTML语言中空格用 表示。
在HTML中有两种类型的标签,它们分别是单标签和双标签。
在HTML文件中,文字之间的换行必须使用
标签。标签
- 内容
- 内容
在表格标签中
<table></ table>
:定义表格,表格的所有内容都写在这个标签之内<caption></caption>
:定义标题,标题会自动出现在整张表格的上方<tr></tr>
:定义表行<th></th>
:定义表头,包含在之间,表头中的文字会自动变成粗体 <td></td>
:定义表元(表格的具体数据),包含在之间 单击“百度”即可超链接到百度的主页,代码这样写<a href=”www.baidu.com“>百度。
href的网址要用双引号引起来
标签的type:决定了表单元素的类型,可以为以下的值
text
:文本框。是type的默认属性password
:密码框radio
:单选按钮,可以将多个单选按钮的name属性设置相同,使其成为一组。checked
属性可设置,默认被选checkbox
:复选框checked属性可设置默认被选reset
:重置按钮,按下之后,所有的表单元素内容变为默认值button
:普通按钮submit
:提交按钮,按下之后,网页会将表单的内容提交给action设定的网页, action 的值 为空时提交给本页image
:图片,但是点击它的效果与提交按钮一样,都会提交表单- 标签的src属性的值表示框架内容的地址
在html标签中要设置字体的样式需要使用的属性为
- Size
- Font
- face ✅
- color
要用的标签是 font,要用的他的face属性
要将两段文字Java和Web设置在同一行显示,可以使用:
1
<h7>Java</h7><h8>Web</h8>
标题标签只有1-6,超过范围的都会以默认字体、字号显示,并且没有换行
现有部分html代码如下:
1
2
3
4
5
6
7<ol type="A">
<li>Java</li>
<li>Web</li>
</ol>请问这段代码在浏览器上显示结果是( A.JavaB.Web )
type属性值为a时会显示有序序号a、b、c…type属性值为A时会显示有序序号A、B、C….type属性值为其他值时,会显示默认有序序号1、2、3、4….
在table标签里,要合并一列的3个单元格需要使用哪个属性值
1
2td.rowspan="3" //行
td.colsapn="3" //列现有部分关于单选按钮的Html代码:
1
2
3
4<input type="radio" name="1" checked>男
<input type="radio" name="2" checked>女<BR>
在浏览器上显示的效果是( “男”和“女”都会被默认选中 )
两个单选按钮的name属性值不一样,说明他们分别是两组单选按钮,所以会被全部选中
第三章 JavaScript基础
下列关于JavaScript的说法错误的是()。
- A. JavaScript的语法和Java语言的语法非常类似。
- B. JavaScript对大小写是敏感的。
- C. JavaScript中的变量是弱变量类型,即变量的类型根据它被赋值的类型改变。
- D. 服务器对JavaScript脚本程序进行编译、运行 ❌
javaScript可以嵌入到HTML中,是一种运行在客户端的语言,由客户端的浏览器进行解释执行,大小写敏感
在下面的JavaScript语句中,
var arg1=10
定义了一个整型变量并赋值为10。window.setTimeout(“fun()”,1000)表示的意思是,间隔1秒后,fun()函数被调用1次。
window对象的
status
属性用来指定浏览器状态栏中显示的临时消息。在history对象中不能实现网页前进效果的方法是()。
- A. go(1)
- B. location
- C. back() ✅
- D. forward()
在浏览器的状态栏中显示“这是状态栏”消息的代码是
window.status=”这是状态栏”
下列打开指定位置新窗口的代码中正确的是
window.open(“window2.html”,”new”,”top=10”
在代码
<body onload="f1()" onError="f2()"><input onFocus="g1()" onClick="g2()"></body>
中,一定会被调用的方法是 f1()浏览器对JavaScript脚本程序进行解释执行。
JavaScript的3种注释写法为、/注释内容、//注释内容
若将JavaScript代码写在单独的test.js文件中,需要在调用它的HTML页面中插入的代码是
<script src="test.js" type="javascript"></script>
。JavaScript的内置对象window负责操作浏览器窗口
window.alert()
弹出消息框window.confirm()
确认框window.prompt()
输入框window.open()
新窗口的地址window.close()
方法可以关闭窗口history对象包含用户的浏览历史等信息,其中history.forward()方法相当于单击浏览器上的后退按钮,history.back()方法相当于单击浏览器上的前进按钮。
history.back()
后退history.forward()
前进window.history.go(n)
正数 前进n页,负数 后退n页在名为form的表单中有一个文本框account,其中的内容可以用代码form.account.value获得。
A. ×
要用特定的函数来获得
用location对象实现跳转到网页a.html的代码是
windows.location.href="a.html"
。document对象从属于window对象。
用document对象可以进行一些简单网页属性的设置,通过
document.title
来访问标题,通过document.location
来获取当前网页的地址。
以下哪些JavaScript变量的命名是错误的?
(1)var hello; (2)var Java; (3)var 123; (4)var x%x; (5)var $hello; (6)var _Script; (7)var for;
命名规范:
首位字符必须是字母A-Z,a-z,_ ,$。
其他位置上可以是 _ , $ , 0-9 , a-z , A-Z
关键字不能命名: for现有如下计时器代码,要让计时器正确的显示在文本框里,请补全缺失部分。()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16<html>
<body>
<input type="text" id="count" />
<script type="text/javascript">
var num = 0;
function startCount() {
document.getElementByld("count").value = num;
------------
num += 1;
setTimeout(startCount, 1000);
}
setTimeout(startCount, 1000);
</script>
</body>
</html>alert(num) 显示在弹出的消息框里,
window.status=num 显示在浏览器窗口的状态栏里,
getElementByld(“count”).value = num 少了对象名会出错
document.getElementByld(“count”).value = num 将num附值给ID为count的文本的属性值valuehistory对象的 (
go(-1)
) 方法要求窗口显示刚刚访问的前一个页面history.back()
返回上一页
history.forward()
返回下一页
history.go(n)
如果n是正数前进n格,负数表示向后退n格在JavaScript内置对象中,不能实现在当前页面跳转的代码是(window.open)
window.open()在新窗口跳转
可以在当前页面跳转的有window.location.href
,location.href
,this.location.href
,self.location.href
,window.location.replace
下面代码可以实现在页面显示如图九九乘法表,请补全代码。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18<html>
<head>
<title>九九乘法表</title>
<script type="text/javascript">
for (var i = 1; i <= 9; i++) {
for (var j = 1; j <= i; j++) {
a = i + "*" + j + "=" + i * j + " "
**document.write(a)**
___________________
}
**document.write("<br>");**
_________________
}
</script>
</head>
<body>
</body>
</html>alert()
是在弹出的消息框显示内容
console.log()
是在控制台显示内容
window.status()
是在浏览器窗口的状态栏显示内容
document.write()
可以在页面显示内容
第四章 JSP基本语法
下列关于JSP的说法错误的是()。
- A. JSP属于静态网页。 ❌
- B. JSP将动态代码嵌入到静态的HTML中,从而产生动态的输出。
- C. JSP页面是由JSP容器执行该页面的Java代码部分,然后实时生成HTML页面。
- D. 在客户端的源代码中是看不到JSP页面中的Java代码的
JSP是动态页面
JSP页面在第一次运行的时候被JSP引擎转换为 ****Servlet 文件。
在下列注释中会发送到服务器的是()。
- A. /注释内容/
- B.<%–注释内容–%>
- C. //注释内容
- D. ✅
下列关于JSP表达式的说法错误的是()。
A. JSP表达式的作用是将其里面内容所运算的结果输出到客户端。
B. JSP表达式中的内容一定是字符串类型,或者能通过toString()函数转换成字符串的形式。
C. 在JSP表达式中不能出现多条语句。
D. 在JSP表达式中能用“;”结束。 ❌
JSP表达式:
<%=变量/返回值/表达式%>
JSP程序段:<% java代码 %>
JSP声明:<%! 代码 ;%>
URL传值:<% String str = request.getParameter("arg1"); %>
JSP指令:<%@指令类别 属性="值"%>
JSP动作:<jsp:动作名 属性1="属性值1" 属性n="属性值n" />
<jsp:动作名>相关内容</jsp:动作名>
JSP程序段的用法
<%Java代码%>
在JSP页面中定义一个Sring类型的Java全局变量str,正确的代码是
<%!Sring str;%>
使用
content Type
属性可以设置JSP的MIME类型和可选字符编码。用于设置JavaBean属性的动作是
<jsp:setProperty>
用于将请求跳转到另一个页面的JSP动作是
<jsp:forward>
JSP注释一共有3种,分别是、<%–注释内容–%>、//注释或/注释**/。
JSP程序段就是插入到JSP程序的Java代码段。
在JSP声明中可以定义网页中的局部变量这些变量在声明的那个JSP页面能使用。
在使用使用URL传值时传输的数据只能是String类型。
request对象获取请求信息的方法是getParameter()。
JSP的3个指令是page、include和 taglib
page指令的import属性用来导入包。
当JSP程序出现未被捕获的异常时可以使用
errorPage
设置要跳转的页面。include 动作 只会把文件中的输出包含进来。
include 指令 是把文件包含到JSP页面。适合导入不会经常变化的资源。include指令可以在JSP程序中插入多个外部文件。
用户可以在( “
<jsp: 和 />
” ) 标记之间插入动作在“<%!”和“%>”标记之间声明的Java方法称为页面的成员方法,其( 在整个页面内 )有效。
在Java声明标记的声明的变量、方法在整个页面内有效
在程序段里声明的变量是局部变量,从定义之后有效现有如下JSP代码片段。
1
2
3
4
5
6<%!int n=0;%>
<% int m=0;
(1);
out.print("欢迎访问本网站!<br>");
out.print("您是第"+ (2) +"个访问本站的客户。");
%>要实现网络计数器的功能,请补全代码。
(1) n++ (2)n
n是全局变量,m是局部变量,所以用全部变量进行累加
现有以下jsp代码片段。
1
2
3<% String str="12"; int number=Integer.parseInt(str); %>
该数字的平方为:<%=number*number %><HR>
<a href="4.6urlP2.jsp?number=______">到达p2</a>请问空格处填以下哪个代码可以用url传值?
<%=str+1%>
url传值只能传字符串,
运算表达式会语法错误,比如 24+3
<%=str+number%>
两个不同类型变量的值,语法错误
str
是变量无法传值
str是字符串拼接,不是进行计算现有以下jsp代码片段。
1
2
3<% String str="12"; int number=Integer.parseInt(str); %>
该数字的平方为:<%=number*number %><HR>
<a href="4.6urlP2.jsp?number=<%=str+6%>">到达p2</a>请问能不能用url传值到4.6urlP2.jsp?如果能传的值是多少? 126
是直接进行了一个拼接
现有如下JSP代码片段,用来计算矩形的面积。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15<%
int row=Integer.parseInt(request.getParameter("<tr>"));
int col = Integer.parseInt(request.getParameter("<td>"));
out.print("<table border=1>");
for(int i = 1; i <= row; i++){
out.print("<tr>");
for(int j = 1; j <= col; j++){
out.print("<td>");
out.print(i*j);
out.print("</td>");
}
out.print("</tr>");
}
out.print("</table>");
%>现在用jsp:param动作“名字-值”来为矩形的长和宽传递参数,请问传值的“名字”应该为()。
<tr>
和<td>
第五章 表单开发
下列关于表单的说法不正确的是()。
- A. 表单是可以由用户输入并提交给客户端的一个图形界面。 ❌
- B. 在表单中可以输入一些内容,这些输入功能由表单元素提供。
- C. 在表单中一般有一个按钮负责提交。
- D. 单击“提交”按钮,表单元素中的内容会提交给服务器端。
表单是一种可以由用户输入,并提交给服务器端的一个图形界面
有下面两段代码:
page1.jsp
1
2
3
4
5<form action=”page2.jsp”>
请您输入账号:<input name=”account” type=”text”><br>
请您输入密码:<input name=”password” type=”password”><br>
<input type=”submit” value=”登录”>
</form>page2.jsp
1
2
3
4
5<%
//获得表单中name=account的表单元素中输入的值,赋值给str
String str1=request.getParameter(“account”);
String str2=request.getParameter(“zhanghu”);
%>若不输入数据,直接单击“登录”按钮,则str1和str2的值分别是 ””、null
在浏览器的地址栏上的URL中隐藏传输的参数,需要将
下列说法中错误的是()。
- A. 在提交表单数据时只能用post方法。 ❌
- B. 以文本框在源代码中出现的顺序 从数组的第0位开始向后放置同名表单元素的数据。
- C. 除了复选框、多选列表框等,其他一些表单元素也可以设置为同名。
- D. 获取同名表单元素中数据的方法为request.getParameterValue(arg)。
****在提交表单数据时可以用
get
、post
下列表单中不是单一表单元素的是()。
- A. 密码框
- B. 复选框 ✅
- C. 文本框
- D. 单选按钮
在表单提交的过程中,不能解决中文乱码问题的方案为()。
- A. 将获取到的数据转换成gb2312的格式。
- B. 把文件头上的字符集设置为中文字符集。 ✅
- C. 在获取数据之前先修改request的编码方式。
- D. 利用过滤器对整个Web应用进行统一的编码过滤。
虽然表单传值的方法不是绝对安全的,但由于其简单性和平台支持的多样性,很多程序还是用表单传值。
表单元素放在
标签之间。表单元素提交给服务器端的哪个页面可以用
在表单中提交请求的两种常见方式是get和post,默认情况下是get方式。
捆绑表单元素数据的获取方法为
request.getParameterValues()
。将Type属性设置为hidden可以隐藏表单元素。
直接修改request的编码方式来解决中文乱码问题的
request.setCharacterEncoding("UTF-8")
Http是无状态的协议,在页面之间传递值时必须通过服务器。
在用JavaScript对表单的输入进行验证时,需要将“提交”按钮的类型设置为button。
现有文件名为charCode.jsp源代码,请问文件运行后能不能传值到指定页面,如果不能请找出错误代码。()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16<%@ page language="java" contentType="text/html; charset=gb2312"%>
<html>
<body>
<form acton="charCode.jsp">
请您输入鲜花的模糊资料:<BR>
<input type="hidden" name="flower" type="text">
<input type="button" value="查询"> ❌
</form>
<%
String flower = request.getParameter("flower");
if(flower!=null){
out.println("花朵名称为:" + flower);
}
%>
</body>
</html>本页面既当客户端提交表单页面,又当服务器端接收表单页面
虽然输入框被隐藏了,客户端无法输入值,但还是可以传值到接收页面;
类型为普通按钮button是无法向接收页面提交表单信息,submit才能提交post方法是将表单内各字段与其内容以键-值对放在http报文的哪个部分?()
http请求报文的实体主体部分
Get方法是将传值内容以键值对放在http请求报文请求行的URL字段
Post方法是将传值内容以键值对放在http请求报文的实体主体部分如果现在因为服务器故障而无法返回请求的页面,返回状态码
506 varlant also negotiates
2xx
表示成功
204 No Content
表示服务器成功处理请求,但不需要返回任何实体内容
3xx
表示重定向,完成请求后还需要进一步采取措施。
304 Not Modified
表示客户端发送了一个带条件的GEt请求,文档内容没被改变
4xx
表示客户的差错
5xx
表示服务器的差错UTF-8 中文字符使用24位编码,英文字符使用8位编码,兼容ASCII和ISO-8859-1。不兼容中文字符使用16位编码的GB232/GBK。
Unicode 中文字符和英文字符使用16位或32位编码,不兼容GBK
GB2312 中文字符使用16位编码,英文字符使用8位编码,兼容ISO-8859-1
ISO-8859-1 使用8位编码,无法显示中文字符,兼容ASCII
现有tomcat服务器配置文件server.xml部分内容,及客户端提交表单页面a.jsp,和服务器端表单接收页面b.jsp,客户提交表单后中文显示乱码,请用以下哪种办法可以正确显示中文字符。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45Server.xml
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="gbk"/>
a.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"%>
<html>
<body>
<form action="b.jsp" method="get">
请您输入学生的模糊资料:<BR>
<input name="stuname" type="text">
<input type="submit" value="查询">
</form>
</body>
</html>
b.jsp
<%@ page language="java" contentType="text/html; charset=gb2312"%>
<html>
<body>
<%
String stuname = request.getParameter("stuname");
out.println("输入的查询关键字为:" + stuname);
%>
</body>
</html>改a.jsp里代码
charset=gb2312
; 改b.jsp里的代码charset=utf-8
post方法传值键-值对在请求报文实体主体部分,默认用iso-8859-1编码,可以在接收页面转码交给服务器。
get方法传值键-值对在请求报文请求行的URL字段,默认用iso-8859-1编码,需要在客户提交页面转码交给服务器
第六章 JSP访问数据库
下列关于JDBC技术的说法错误的是()。
- A. JDBC相关的API存放在java.sql包中。
- B. JDBC可以适用于任何语言。 ❌
- C. JDBC提供了一系列的API,让Java语言编写的代码连接数据库,对数据库的数据进行添加、删除、修改和查询。
- D. 在Java技术系列中,访问数据库的技术叫做JDBC。
JDBC只能适用于JAVA
java.sql.Connection
负责 连接数据库java.sql.Statement
负责执行数据库SQL语句。java.sql.ResultSet
:负责存放查询结果。DriverManager.getConnection(“URL”,”用户名”,“密码”)
的功能是获取数据库连接下列关于ResultSet类的说法错误的是()。
- A. 游标是在ResultSet中的一个可以移动的指针,它指向一行数据,初始时指向第一行的前一行。
- B. 从ResultSet的某一行中通过
getXXX()
方法取数据的每一列能取无限次。 ❌ - C. 当游标指向某一行时可以通过
ResultSet的getXXX(“列名”)
方法得到这一行的某个数据。 - D. ResultSet的
next()
方法的返回值是一个布尔类型的数据
从某一行中通过
getXXX()
方法取数据每一列只能取一次在Connection中设置executeUpdate()不自动提交的代码是
connection.setAutoCommit(false)
下列关于厂商驱动的说法错误的是()。
- A. 驱动程序一般弹性较差,往往只适用于自己的数据库系统。
- B. 使用厂商驱动的方法完全不依赖于ODBC,但是只能在Windows操作系统上使用。 ❌
- C. 不同驱动程序和不同数据库可以采用不同驱动程序名称和URL。
- D. 使用厂商驱动需要下载相应的厂商驱动包,将其复制到Web项目的“WEB-INF/lib”下。
连接到本机MySQL数据库上的SCHOOL数据库的代码为(),其用户名为”root”,密码为“manager”。
1
Connection conn=DriverManager.getConnection(“jdbc:mysql://localhost:3306/SCHOOL”,”root”,”manager”);
MySQL的默认数据库端口为3306
mssql的默认端口是1433一个典型的JDBC按照()顺序编写。
- 指定驱动 2. 获得与数据的连接 3. 使用statement接口运行SQL语句 4. 处理SQL语句的运行结果 5. 关闭数据库连接
下列关于JDBC-ODBC桥的说法中错误的是()。
- A. ODBC桥接比较简单,支持所有操作系统上的数据库连接。 ❌
- B. 由ODBC连接到特定的数据库之后,JDBC只需要连接到ODBC就可以了。
- C. ODBC几乎可以支持在Windows平台下运行的所有数据库。
- D. 通过ODBC就可以连接到ODBC支持的任意一种数据库
ODBC只能在Windows下
在java.sql包中负责执行数据库SQL语句的类是
java.sql.Statement
数据库连接有两种方式,分别是数据库厂商驱动连接和JDBC-ODBC桥接方式。
ODBC:Open Database Connectivity 开放数据库互连
JDBC:Java Database Connectivity Java数据库连接
加载数据库驱动类的代码是
Class.forName("驱动名")
statment.excuteUpdate(sql)
主要用来执行添加数据、删除数据、修改数据的SQL语句,其返回值代表的是这条sql语句执行受影响的行数statement.executeQuery(sql)
主要用来执行查询数据的SQL语句,它的返回值是ResultSet类型,用于存放SQL语句执行后返回的结果。PreparedStatment
的setString(n,参数)
方法可以将第n个“?”传递的参数代替。可以使用
Connection
类来定义executeUpdate()
方法是否自动提交SQL语句的结果,并进行事务的提交或回滚。通过ODBC可以连接到ODBC支持的任意一种数据库,这种连接方式叫做JDBC-ODBC桥
如果远程MySQL数据库服务器的IP地址是202.115.128.123,进入此服务器MySQL命令行客户端管理工具的命令为()。
1
mysql -h 202.115.128.123 root -p
查询结果集ResultSet是以统一的行列形式组织数据,
执行“ResultSet rs=stat.executeQuery(“select bid,name,author,publish,price from book”);
”语句,得到的结果集rs
的列数为()。5
向数据库添加数据,可以获得成功添加条数的方法是()。
A. executeUpdate() ✅
B. getString()
C. createStatement()
D. executeQuery()
executeQuery()
发送查询SQL语句,返回结果集。
createStatement()
与数据库建立连接,打开数据库。
executeUpdate()
返回一个整型,意思为这条sql语句执行受影响的行数,即成功添加的条数。在游标的控制中,以下部分代码能实现倒序奇数行记录输出的是()。
C. ✅
1
2
3
4
5
6rs.afterLast();
while(rs.previous()){
int i=rs.getRow();
if(i%2<>0){
……}
……}rs.afterLast()
将游标移到结果集的最后一行之后。
rs.last()
将游标移到结果集的最后一行。
rs.befortFirst()
将游标移到结果集的第一行之前。
if(i%2==0)
判断是否为偶数。
if(i%2==1)
判断是否为奇数。
if(i%2<>0)
判断是否为奇数。关于连接池的使用,下面描述正确的是()。
在连接池集合中创建连接对象可以使用
add()
方法设定连接池最大连接数可以防止用户无限制地与数据库连接。
使用完连接对象放回连接池数组add()
从连接池数组中取出一个连接对象remove()
第七章 JSP内置对象(1)
下列关于内置对象的说法错误的是()。
- A. 在所有的JSP页面中,直接调用内置对象都是合法的。
- B. 内置对象是自动载入的,因此不需要直接实例化。
- C. 在JSP规范中定义了4种内置对象。 ❌
- D. 内置对象是通过Web容器来实现和管理的。
JSP 规范中定义了九种内置对象,
out
管理对客户端的输出
request
得到客户端的请求信息
response
向客户端发出响应
session
保存同一客户端一次会话过程中的一些信息
application
表示整个应用的环境的信息
exception
表示页面上发生的异常,可以通过它获得页面异常信息
page
表示的是当前 JSP 页面本身,就像Java 类定义中的 this 一样
pageContext
对象:表示的是此 JSP 的上下文
config
对象:表示此 JSP 的 ServletConfig下列内置对象中
exception
用来表示页面上发生异常。out对象管理缓冲区方法中,清除缓冲区里的数据但不把数据写入客户端的是 ****
void clear()
在request对象的方法中,用来得到请求的URL地址的方法是
request.getRequestURL()
下列关于jsp:forward和response的sendRedirect方法进行重定向的说法中错误的是()。
- A. forward方法只能在同一个Web应用程序内的资源之间转发请求。
- B. 与redirect方法相比,forward方法的效率较高。
- C. forward方法属于服务器端去请求资源,而redirect方法让客户端重新向服务器端请求一遍。
- D. forward转发的页以及转发到的目标页面不能共享request里面的数据,但redirect方法可以。 ❌
forward 方法属于服务器端去请求资源,客户端浏览器的地址不变
redirect 客户端重新请求一 遍,所以地址显示栏会变
从数据共享来看
forward 转发的页面,以及转发到的目标页面能够共享 request 里面的数据。
redirect 转发的页面以及转发到的目标页面不能共享 request 里面的数据。response对应的类是
javax.servlet.http.HttpServletResponse()
Cookie.setMaxAge(int second)
用来设置设置Cookie的存活时间的代码是()。Cookie可以持久地保持一些和客户相关的信息
在解决Cookie的安全问题时可以采用及时删除Cookie的方法。下列做法不能删除一个已经存在的Cookie的是()。
- A. 使用跨站脚本技术 XSS ✅
- B. 通过浏览器删除Cookie
- C. 给Cookie赋空值
- D. 禁用Cookie
在JSP页面中不需要定义就可以直接使用的对象叫内置对象
在JSP的内置对象中,out对象负责管理对客户端的输出,主要有两种输出方法,分别是print()和println()。
out对象的close()方法可以强制终止当前页面的剩余部分向浏览器输出。
request对象对应的类型是
javax.servlet.http.HttpServletRequest
负责得到客户端请求的内置对象是request,负责身客户端发出响应的内置对象是response。
用response进行重定向的方法是response.sendRedirect(目标页面路径)。
response的
sentError()
方法用于向客户端发送HTTP状态码的出错信息。Cookie是一个小的文本数据,由服务器端产生,发送给本地用户
在一般情况下,Cookie中的值是以key-value的形式进行表达的。
response.addCookie(Cookie c)
,通过该方法将 Cookie 写入客户端。Cookie.setMaxAge(int second)
, 通过该方法设置 Cookie 的存活时间。Cookie[] request.getCookies()
, 读取客户端传过来的 Cookie ,以数组形式返回。
现有部分有关JSP缓存与Servlet缓存代码段,请问页面输出结果为( 胜 战病!毒)。
1
2
3
4
5
6
7
8<%
out.print("战");
response.getWriter().print("胜");
out.print("病");
out.flush();
out.print("毒");
response.getWriter().print("!");
%>out对象先输出到JSP缓存再到Servlet缓存最后到页面。
response.getWriter()直接输出到Servlet缓存再到页面。
(1)out.print(“战”);//将“战”输出到JSP缓存
(2)response.getWriter().print(“胜“); //将“胜”输出到Servlet缓存,最先输出到页面的是“胜”。
(3)out.print(“病”); //将“病”输出到JSP缓存,排在“战”后面,JSP缓存队列为“战、病”。
(4)out.flush(); //手动刷新JSP缓存并将“战、病”输出到Servlet缓存,排在“胜”的后面,现在Servlet缓存队列为“胜、战、病“。
(5)out.print(“毒”); //将“毒“输出到JSP缓存,现在JSP缓存队列为”毒“。
(6)response.getWriter().print(“!”); //将“!“输出到Servlet缓存,现在Servlet缓存队列为“胜、战、病、!“。 |
(7)程序结束JSP缓存输出到Servlet缓存,现在Servlet缓存队列为“胜、战、病、!、毒“,最后输出到客户端页面。现有部分代码如下,出现错误提示为
“java.lang.NumberFormatException: null”
,请帮同学解决问题()1
2
3
4
5
6
7
8
9
10
11
12
131 <%
2 for (int i = 1; i < 10; i++) {
3 %>
4 <a href="05_1.jsp?num=<%=i%>"><%=i%></a><br>
5 <%
6 }
7 %>
8 <%
9 String numstr = null;
10 numstr = request.getParameter("num");
11 int num1 = Integer.parseInt(numstr);
12 %>
13 该数字的平方为<%=num1*num1%>在第11行和第13行后分别加入
if(numstr ! = null){
和<%}%>
获取数据时出现空值,所以做一个非空判断
有如下程序片段:
1
2
3
4<form>
<input type=”text” name=”number”>
<input type=”submit” value=”提交”>
</form>下面()语句可以获取用户输入的信息。
request.getParameter("number");
response
内置对象是对客户的请求做出响应,向客户端发送数据的。request
得到客户端的请求信息session
保存同一客户端一次会话过程中的一些信息application
表示整个应用的环境信息response
向客户端发出响应现有a.jsp、b.jsp、c.jsp三个页面,如果运行a.jsp页面在“输入学生姓名:”输入框内输入Rose,点击查询按钮以后页面会显示什么内容()。
输入学生姓名是:null
1
2
3
4
5
6
7
8
9
10
11a.jsp
<%@ page language="java" import="java.util.*" contentType="text/html; charset=gb2312" %>
<html>
<body>
<form action="b.jsp">
输入学生姓名:<input type="text" name="stuname">
<input type="submit" value="查询">
</form>
</body>
</html>1
2
3
4
5
6
7
8
9b.jsp
<%@ page language="java" import="java.util.*" contentType="text/html; charset=gb2312" %>
<html>
<body>
<% response.sendRedirect("c.jsp"); %>
</body>
</html>1
2
3
4
5
6
7
8
9
10c.jsp
<%@ page language="java" import="java.util.*" contentType="text/html; charset=gb2312" %>
<html>
<body>
<% out.println("输入学生姓名是:"+request.getParameter("stuname")+"<br>");
%>
</body>
</html>如果想让else程序段内容成功跳转到b.jsp页面,请补全代码()。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20<%
String name=request.getParameter("userName");
String password=request.getParameter("pwd");
if("zhangsan".equals(name)&&"123".equals(password)){
out.print("成功登陆,3秒钟后进入loginSuccess.jsp页面");
response.setHeader("refresh", "3;url=a.jsp");
return;
}else{
}
-----------------
%>%><jsp:forward page="b.jsp"/><%
现有cookie相关部分代码如下,请问当前cookie的有效时间为()。
关闭浏览器时失效
1
2
3
4
5
6
7
8<% String str="12" ; int number=Integer.parseInt(str); %>
该数字的平方为:<%=number*number %>
<HR>
<% Cookie cookie=new Cookie("number",str); cookie.setMaxAge(-10); response.addCookie(cookie); %>
<a href="b.jsp">到达p2</a>cookie.setMaxAge(int time) 设置存活时间
time正整数,表示存活的秒数
time负数,代表临时cookie,浏览器关闭时失效
time 0 ,表示通知浏览器删除相应的cookie对象
第八章 JSP内置对象(2)
- 下列关于session的说法错误的是()。
- A. session能够跨页保持。
- B. session负责保存同一个客户端一次会话过程中的一些信息。
- C. 在访问网站时,服务器端自动分配一个session对象给用户使用。
- D. 对于同一个用户,当网站的页面改变时,用户使用的session也会改变。 ❌
- 通过
session.setAttribute(String name,Object obj)
方法可以将内容保存在session中。 session.setAttribute(String name,Object obj)
中的第2个参数可以是自定义类型。- 下列关于sessionId的说法错误的是()。
- A. 的第一次访问时,服务器端都有一个session分配了一个sessionId。
- B. 对于每一个session,服务器端都有一个sessionId来标识它。
- C. 在客户端访问下一个页面时,不会将sessionId传递给服务端。 ❌
- D. 对于不同的客户来说,每个人的session是不同的。
- 显示某个页面被访问的次数可以用
application
对象 excepiton
对象对应的类是java.lang.Excepiton
。pageContext
对象提供了对JSP页面中所有对象及命名空间的访问。- 在服务器启动后就会自动创建application对象,这个对象会一直保存,直到服务器关闭为止。
- session对应的类是
javax.servlet.http.HttpSession
- 将session中的内容全部移除的方法是
void session.invalidate()
- 对于每一个session,服务器端都有一个sessionId来标识它
- 获得当前session在服务器端的ID的方法是String session.getId();
- 对于一个Web容器而言,所有的用户共同使用一个session对象。❌
- application对应的类是
javax.servlet.ServletContext
- config对象是在一个JSP程序初始化时JSP引擎向它传递消息用的。
- page对象指向当前JSP程序本身
在JSP中保存用户会话信息使用(
session
)对象。如果选择一个对象保存聊天室信息,则选择(
application
)。哪个方法是保存session中关键字是key的对象
1
public void setAttibute(String key,Object obj)
现有以下部分代码段,主要功能可以实现将物品添加到购物车,请补全代码。
1
2
3
4
5
6
7
8
9
10
11
12<form action="order.jsp" method="post">
三国演义<input name="goods" type="hidden" value="三国演义"> <input type="submit" value="添加到购物车">
</form>
<% ArrayList good=(ArrayList) session. ①
if(good==null){ good=new ArrayList(); session. ②
}else{ String
goods=request. ③
if(godd!=null){ goods=new String(goods.getBytes("ISO-8859-1"),"gb2312");
good.add( ④ ); } } %>① getAttribute(“good”); //读取购物车
② setAttribute(“good”,good) //存入购物车,session对象
③ getParameter(“good”) //获取表单里文本框属性名
④ goods //将goods的值存入good对象
通过相关方法输出session对象的生存期限第一次访问当前web服务的参数如图所示,如果现在经过20秒第二次访问此页面,下面哪些参数会发生变化()。
超过发呆时间,第二次访问页面,session的创建时间、ID、上一次请求时间都会发生变化
使用pageContext内置对象可以操作当前JSP页面的所有其他内置对象,现有如下代码段,请问页面最后输出的结果()。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18<% application.setAttribute("applicationKey", "applicationKey" );
String applicationValue=(String)pageContext.getAttribute("applicationKey",4);
session.setAttribute("sessionKey", "sessionKey" ); String
sessionValue=(String)pageContext.getAttribute("sessionKey",3); request.setAttribute("requestKey", "requestKey" );
String requestValue=(String)pageContext.getAttribute("requestKey",2); pageContext.setAttribute("pageKey", "pageKey"
);
String pageValue=(String)pageContext.getAttribute("pageKey",1);
pageContext.removeAttribute("requestKey",2);
pageContext.removeAttribute("applicationKey",4);
pageContext.setAttribute("applicationKey","Java Web",4); %>
页面域的范围scope:<%=pageContext.getAttributesScope("pageKey")%><br>
请求域的范围scope:<%=pageContext.getAttributesScope("requestKey")%><br>
会话域的范围scope:<%=pageContext.getAttributesScope("sessionKey")%><br>
应用域的范围scope:<%=pageContext.getAttributesScope("applicationKey")%><br>选项D:
pageContext.removeAttribute(“requestKey“;,2);
//从scope范围2移除关键字 requestKey的属性对象,最终打印scope值为0。pageContext.removeAttribute(“applicationKey“;,4);
//从scope范围4移除关键字为applicationKey的属性对象。pageContext.setAttribute(“applicationKey”,”Java Web”,4);
//以K/V对的方式存储scope范围域4属性对象值”Java Web”,最终打印scope值为4.页面域的范围scope:1
请求域的范围scope:0
会话域的范围scope:3
应用域的范围scope:4
现在分别用页面域、会话域和应用域制作访问统计,现在用IE浏览器访问页面结果如图所示。请问现在用Chrome浏览器访问此页面后显示结果为()
页面域访问统计:1
会话域访问统计:1
应用域访问统计:13
页面域(page scope),它的生命周期是指页面执行期间。存储在页面域的对象只能在它所在页面被访问,作用范围当前页面。相同或不同浏览器(用户)的计数变量不能共享,没有计数功能。 会话域(session scope),它的生命周期是指某个客户端与服务器所连接的时间。客户端在第1次访问服务器时创建会话,在会话过期或用户主动退出后,会话结束。存储在会话域中的对象在整个会话期间(可以包含多次请求)都可以被访问。不同浏览器(用户)的计数变量不能共享,只能计数同一浏览器(用户)的访问统计。 应用域(application scope),它的生命周期是指从服务器开始执行服务到服务器关闭为止。存储在应用域中的对象在整个应用程序运行期间可以被所有JSP和Servlet共享访问。可以计数所有访问本页面的浏览器(用户)数。
第九章 Servlet编程
1-5:DACBB 6-10:CCADA
在Java Web中,Servlet程序需要在 web.xml 文件中配置。
在部署带有Servlet的Java Web程序时,()不是必需的。
- A. csses文件夹 ✅
- B. WEB-INF文件夹
- C. web.xml文件
- D. classes文件夹
完整配置Servlet需要的标签
<servlet></servlet>
和<servlet-mapping></servlet-mapping>
如果是整个应用程序共享的数据,则适合放在ServletContext 中成为属性。
HttpServlet定义在
javax.servlet.http
之中。在web.xml中预先对Servlet进行初始化设置的代码如下:
1
2
3
4<int-param>
<param-name>myWord</param-name>
<param-value>hello</param-value>
</init-param>获取初始化参数
String myWord=getInitParameter(“myWord”);
在Servlet中,HttpServletResponser ()方法用来把一个HTTP请求重定向到另外的URL。
- A. redirectResponse()
- B. sendURL()
- C. sendRedirect()
- D. redirectURL()
给定一个Servlet的代码片段如下:
1
2
3
4Public void doGet(HttpServletRequest request,HttpServletResponse response) throw ServletException,IOException{
out.println(“hi kitty!”);
out.close();
}运行该Servlet时输出“hi kitty!“,则应在此Servlet的两眼一下画线处填入的代码是()
- A. PrintWriter out=response.getWriter();
- B. OutputStream out=request.getOutputStream();
- C. PrintWriter out=request.getWriter();
- D. OutputStream out=response.getOutputStream();
给定一个Servlet程序的代码片段如下:
1
2
3Public void doPost(HttpServletRequest request,HttpServletResponse response) throw ServletException,IOException{
Request.getSession().getAttribute(“A”); //第2行
}假定第2行返回的对象引用不是null,那么这个对象存储在()范围中。
- A. page
- B. application
- C. request
- D. session
在web.xml中定义了以下内容:
1
2
3
4
5
6
7
8<servlet>
<servlet-name>Goodbye</servlet-name>
<servlet-class>cc.openhome.LogutServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>GoodBye</servlet-mapping>
<url-pattern>/goodbye</url-pattern>
</servlet-mapping>下列可以正确访问该Servlet URL的是()。
- A. /goodBye
- B. /goodbye.servlet
- C. /LoguotServlet
- D. /Goodbye
1-5:AAAAB 6-10:BBBA
- Servlet是一种运行在服务器端和客户端的Java应用程序,可以生成动态的Web页面,它属于客户和服务器响应的中间层。
- A. ×
- B. √
- Servlet中的两个处理请求的方法是doGet()、doPost()。
- A. √
- B. ×
- Servlet为每一个HttpSession对象分配的唯一标识符是SessionID。
- A. √
- B. ×
- 在Servlet程序中Servlet对象消亡时调用的方法是close()。
- A. ×
- B. √
- 在Servlet中主要HttpServletResponse类的重定向方法forward()实现重定向,使用RequestDispatcher类的转发方法sendRedirect()实现转发功能。
- A. √
- B. ×
- web、xml文件中的两种类型的参数为全局参数、局部参数。
- A. ×
- B. √
- Filter接口中最主要的方法是doFilter()。
- A. ×
- B. √
- 实现Filter接口的类需要重写init()方法、close()方法、doFilter()方法。
- A. √
- B. ×
- 过滤器的doFilter()函数在Servlet之后被调用。
- A. ×
- B. √
某个文件名为SecondServlet.java的servlet文件,在服务器部署映射,以下哪个url-pattern能够成功()。
<url-pattern>/5.1</url-pattern>
servlet的url-pattern映射规则要以/开头,/*.java 属于扩展映射,/和扩展映射同时使用会出现语法错误; /5.1属于精确路径映射,可以部署成功。
下列Servlet方法中,()方法在Servlet生命周期中,Servlet每请求一次它就会被调用一次。
service()
init() 载入时被执行,且只执行一次,对servlet进行初始化
service() 请求服务,请求一次执行一次
destroy() 服务器关闭时被调用,且只执行一次,用来释放servlet所占资源
close()不属于servlet 生命周期方法关于servlet使用JSP内置对象,现有部分代码如下,请问在客户端页面会显示什么内容()。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=gb2312");
request.setCharacterEncoding("gb2312");
out.println("五一");
System.out.println("劳动节");
response.getWriter().println(“快乐!”);
}会编译错误
out.println(“五一“);
//out对象在servlet里使用需要先声明PrintWriter out = response.getWriter();
否则会出现编译错误。System.out.println(“劳动节“);
//在JSP和servlet都可以输出到客户端的控制台,不能输出到客户端页面。response.getWriter().println(“快乐!”);
//在JSP和servlet都可以输出到客户端页面。现有a.jsp、B.java和C.java文件,B.java文件获取客户端a.jsp的表单传值,并将获取到的值传递到C.java后正确显示在客户端页面,请补全代码()。
b.java部分代码段如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("gb2312");
String b = request.getParameter("a");
if (b.length() > 0) {
① request.getRequestDispatch("C).forward(request,response);
}
}request.getRequestDispatcher(“C”).forward(request, response);
//转发,通过forward方法把当前页面的request对象里的数据转发到C页面,getRequestDispatcher(“C”)。response.sendRedirect(“C”);
//重定向,无法从以前的request对象中获取用户提交的数据。response.encodeRedirectURL(“C”);
//URL重写,数据有丢失无法获取。forward(request, response);
//语法错误。在web服务器test目录下有一客户端a.jsp文件,代码如下所示。在B.java文件设置字符过滤器,下面注解方式能使程序正常运行并解决中文乱码的为()。
1
2
3
4
5
6
7
8
9
10
11<%@ page language="java" contentType="text/html; charset=gb2312"%>
<form action="B" method="post">
请输入学生信息的模糊资料:
<input type="text" name="stuname"><br>
<input type="submit" value="查询">
</form>1
2
3@WebFilter(filterName = "setCharacterEncodingFilter"
,urlPatterns = { "/test/a.jsp"},
initParams = {@WebInitParam(name = "encoding", value = "GBK")})urlPatterns = { “/test/a.jsp” ; }
//精确匹配拦截服务器下test目录的a.jsp客户端请求。value = “GBK”;
与客户端charset=gb2312编码兼容。现在为Web服务器设置监听session中某个对象状态变化,下面能实现将session对象持久化到存储设备上的方法为()。
1
sessionWillPassivate(HttpSessionEvent se)
HttpSession
中对象的状态有:绑定→解除绑定,钝化→活化。valueBound(HttpSessionBindingEvent event)
//绑定,当对象被放到session里时,执行此方法。valueUnbound(HttpSessionBindingEvent event)
//解除绑定,当对象被从session里移除时,执行此方法。sessionWillPassivate(HttpSessionEvent se)
//钝化,当session里的对象被钝化时,执行此方法。sessionDidActivate(HttpSessionEvent se)
//活化,当对象被重新加载(活化)时,执行此方法。
第十章 JSP和JavaBean
1-5:ABABB 6-10:AABBD
- 下列关于JavaBean的说法正确的是()。
- A. Java文件与Bean定义的类名可以不同,但是要区分字母大小写。
- B. 在JSP文件中引用Bean其实就是用jsp:useBean语句。
- C. 被引用的Bean文件的扩展名为.jsp。
- D. Bean文件放在任何目录下都可以被引用。
- JavaBean的属性必须声明为private,方法必须声明为()访问类型。
- A. private
- B. public t
- C. protec
- D. static
- JavaBean可以通过相关jsp动作指令进行调用。下面()不是JavaBean可以使用的jsp动作指令。
- A. jsp:setParameter
- B. jsp:useBean
- C. jsp:getProperty
- D. jsp:setProperty
- JSP页面通过()识别Bean对象,可以在程序段中通过xx.method形式调用Bean中的set和get方法。
- A. class
- B. id
- C. name
- D. classname
- ()作用范围将使Bean对象保存在服务器的内存空间中,在服务器关闭后被移除。
- A. request
- B. application
- C. session
- D. page
- 对于()作用范围的Bean,当客户离开这个页面时JSP引擎取消为客户的该页面分配的Bean,释放他所占的内存空间。
- A. page
- B. request
- C. application
- D. session
- 关于JavaBean,下列叙述中不正确的是()。
- A. JavaBean和Servlet一样,在使用之前必须在项目的web.xml中注册。
- B. JavaBean的类必须是具体的和公共的,并且具有无参数的构造器。
- C. JavaBean属性和表单控件名称能很好地耦合,得到表单提交的参数。
- **D.**JavaBean的类属性是私有的,要通过公共方法进行访问。
- 使用jsp:getProperty动作标记可以在JSP页面中得到Bean实例的属性值,并将其转换为()类型的数据发送到客户端。
- A. Classes
- B. String
- C. Object
- D. Double
- 在项目中已经建立了一个JavaBean,其类为bean.Student,该Bean具有name属性,则下面标签用法正确的是()。
- A. <jsp:useBean id=”student” class=”Student” scope=”session”/>
- B. <jsp:useBean id=”student” class=”bean.student” scope=”session”>
- C. <jsp:useBean id=”student” class=”Student” scope=”session”>
- D. <jsp:getProperty name=”name” property=”student”/>
- 给定TheBean类,假设还没有创建TheBean类的实例,以下()JSP标准动作语句能创建这个Bean的一个新实例,并把它存储在请求作用域。
- A. <jsp:takeBean id=”myBean” type=”com.example.TheBean”/>
- B. <jsp:takeBean id=”myBean” class=”com.example.TheBean” scope=”request”/>
- C. <jsp:useBean id=”myBean” type=”com.example.TheBean”/>
- D. <jsp:useBean id=”myBean” class=”com.example.TheBean” scope=”request”/>
1-5:AABBB 6-10:ABAAA
- 在JavaBean中可以将控制逻辑、值、数据库访问和其他对象进行封装,并且可以被其他应用调用。
- A. √
- B. ×
- avaBean支持两种组件,即可视化组件、非可视化组件。
- A. √
- B. ×
- 在JSP中可以使用jsp:setProperty方法来设置JavaBean的属性,也可以使用 jsp:getProperty方法来获取JavaBean的值。
- A. ×
- B. √
- JavaBean规定成员变量的读/写通过setter()方法和getter()方法进行。
- A. √
- B. ×
- 给Boolean类型设置属性使用is方法。
- A. ×
- B. √
- JavaBean有4个scope,它们分别是application、page、session、request。
- A. √
- B. ×
- 当scope=application时,JavaBean对象可以被同一用户的所有页面认识。
- A. √
- B. ×
- 当scope=request时,JavaBean对象可以在通过forward方法跳转的目标页面中被认识。
- A. √
- B. ×
- DAO的全称是Data Access Object,它专门负责对数据库的访问。
- A. √
- B. ×
- 获取JavaBean的属性的两种方法是使用JSP表达式或程序段、使用“jsp:getProperty”动作。
- A. √
- B. ×
以下代码定义了一个JavaBean类Student.java,请问哪些行没有遵循有关约定()。
1
2
3
4
5
6
7
8
9
10
11
12
131 package bean;
2 private class Student { ❌
3 private String stuname;
4 public String getstuname() { ❌
5 return stuname;}
6 public void setterStuname(String stuname) { ❌
7 this.stuname = stuname;}}1.JavaBean应该是public类,且具有无参数的public构造方法。也可以定义带参数构造方法。
2.类的成员变量一般称为属性(property),对每个属性访问权限一般定义为private,属性名必须以小写字母开头。
3.每个属性通常定义两个public方法,一个是访问方法(getter),一个是修改方法(setter),使用它们访问和修改JavaBeans的属性值,对应的变量首字母必须大写。第2行:public class Student{//应该是public类。 第4行:public String getStuname(){//访问方法getter对应的变量首字母必须大写。 第6行:public void setStuname(String stuname){//修改方法setter,应该是setStuname(String stuname)。
如果已经在包bean里正确定义了一个JavaBean类Rose.java,通过以下JSP代码能不能正确访问bean,如果不能以下哪项修改是正确的()。
1
2
3
4
5
6
7
8
9
10
111 <%@ page language="java" contentType="text/html; charset=gb2312"%>
2 <jsp:useBean id="rose" type="bean.Rose" scope="session"/>
3 <p>矩形的长是:<%=rose.getLength()%>
4 <p>矩形的宽是:<%=rose.getWidth()%>
5 <p>矩形的面积是:<%=rose.computerArea()%>
6 <p>矩形的周长是:<%=rose.computerLength()%>type属性必须保证bean实例存在,如果找到用rose指向它,如果找不到产生Instantiation异常,beanName=”bean.Rose”;可以动态实例化。 第2行加入动作标记useBean属性beanName即可:。
不能访问bean,应该在第2行加入动作标记useBean属性;
beanName = "bean.Rose"
下面语句与
<jsp:getProperty name=”tom” property=”jerry”/>
等价的是()<%out.print(tom.getJerry());%>
关于
jsp:setProperty
和jsp:getProperty
标记的描述以下正确的是()。这两个标记的name属性值必须与
<jsp:useBean>
标记的id属性值相对应student.jsp文件代码如下,要使student一直存在于会话中,直到终止或被删除为止,请补全代码()。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16<%@ page language="java" contentType="text/html; charset=gb2312" %>
<jsp:useBean id="student" class="bean.Student" scope=" ___session______ " />
<jsp:setProperty property="stuname" name="student" value="rose" />
<html>
<body>
学生姓名:
<jsp:getProperty name="student" property="stuname" />
</body>
</html>page页面域,request请求域,session会话域,application应用域。
第十二章 AJAX入门
1-5:DCDDB 6-10:CBCCB
- AJAX的英文全称是()。
- A. Asp+JavaScript+XML
- B. Asynchronous+Java+XML
- C. Asynchronous+JavaScript+XHTML
- D. Asynchronous+JavaScript+XML
- 下面关于AJAX的描述错误的是()。
- A. AJAX使用XHTML和CSS基于的标准表示技术。
- B. AJAX使用XML和XSLT进行数据互换和操作。
- C. AJAX是一个新技术。
- D. AJAX使用XMLHttpRequest获取数据。
- AJAX模式中,客户端的请求是()完成的。
- A. 单向
- B. 并发
- C. 同步
- D. 异步
- 以下关于AJAX优势和劣势的描述,说法错误的是()。
- A. 应用仅由少量页面组成,大部分交互在页面之内完成,不需要切换整个页面。
- B. 按需获取数据,每次只从服务器端获取需要的数据。
- C. 改善表单验证方式,不再需要打开新页面,也不再需要整个页面数据提交。
- D. AJAX可以取代传统的Web应用开发。
- 使用AJAX技术编写Web应用程序,其使用()格式实现数据的传递。
- A. HTML
- B. XML
- C. XHTML
- D. TXT
- XMLHttpRequest对象的readyState属性值为(),代表请求成功接收数据完毕。
- A. 3
- B. 1
- C. 4
- D. 2
- 在创建请求的代码片段xmlhttp.open(“get”,”info.jsp?a=1)中,传递的参数值为()。
- A. a
- B. 1
- C. info.jsp
- D. get
- onreadystatechange事件在()选项中发生变化时触发。
- A. onchange
- B. readystatus
- C. readyState
- D. onfocus
- 在Firefox浏览器上创建XMLHttpRequest对象的方法是()。
- A. var xmlHttp=new ActiveXObject(“Msxml2.XMLHTTP”);
- B. var xmlHttp=new ActiveXObject(“Microsoft.XMLHTTP”);
- C. var xmlHttp=new XMLHttpRequest();
- D. 以上都不对。
- Java是整个AJAX的核心部分,它使开发人员能够运用编程语言来控制浏览器端的行为。
- A. √
- B. ×
- AJAX技术包括异步数据获取技术、基于标准的表示技术、动态显示和交互技术、数据互换和操作技术、Java。
- A. ×
- AJAX中open()方法的参数的含义分别是请求方式、请求目标、异步或同步。
- A. √
- AJAX中open()方法的第3个参数为false,表示异步请求。
- B. ×
- readyState属性的状态有0:未初始化状态;1:已初始化状态;2:发送数据状态;3:数据传送中状态;4:完成状态.
- B. √
- 当xmlHttp状态改变时需要进行的处理一般以响应函数形式进行。
- A. √
- xmlHttp除了有responseText属性外,还有一个属性innerText,含义是表示在该div内显示内容时,不考虑其HTML格式的标签,即:将内容原样显示。
- A. ×
- 当xmlHttp.open()函数中的请求方式为put时,send()函数可以没有参数。
- A. ×
- 用来监听readState的方法是onreadystatechange()
- B. √
关于AJAX技术相关特点,描述正确的是()。
可以促进页面呈现和数据本身分离
减轻服务器负担,避免整个浏览器窗口刷新时造成的重复请求。
对浏览器具有一定的限制,对于不兼容的浏览器,可能无法使用。
AJAX没有刷新页面,浏览器上的“后退”按钮是失效的,不能退回。现有以下部分JS代码段,用户使用IE5浏览器能否实现异步免刷新网页,如果不能应该如何修改()。
1
2
3
4
5
6
7
8
9
10
11
121 <SCRIPT LANGUAGE="JavaScript">
2 function showInfo(){
3 var xmlHttp=new XMLHttpRequest();
4 xmlHttp.open("POST", "a.jsp", true);
5 xmlHttp.onreadystatechange=function() {
6 if (xmlHttp.readyState==4) {
7 infoDiv.innerHTML = xmlHttp.responseText;
8 }
9 }
10 xmlHttp.send();
11 }
12 </SCRIPT>不能实现异步免刷新网页,第三行改为
1
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP")
所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均支持XMLHttpRequest 对象var xmlHttp=new XMLHttpRequest();
老版本的Internet Explorer(IE5 和 IE6)使用ActiveXObject
对象,var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP")
部分分析HTTP请求和响应的服务器状态JS代码如下,当处于初始化状态时在客户端页面上打印的readyState属性值为()。
不会有打印数据
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21<SCRIPT LANGUAGE="JavaScript">
var xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
function showInfo() {
xmlHttp.open("GET", "c.jsp", true);
xmlHttp.onreadystatechange = showState;
xmlHttp.send();
}
function showState() {
document.writeln(xmlHttp.readyState);
}
</SCRIPT>服务器在初始化状态时还没有和客户端建立连接,无法收到客户端Http请求,所以不会执行showState函数,不会有打印数据在客户端页面。
使用AJAX技术跳转到a.jsp页面部分代码段如下,服务器响应返回客户端的代码为infoDiv.innerText = xmlHttp.responseText;请问最后客户端页面输出内容为()。
1
2
3
4
5
6
7
8
9
10
11a.jsp
<table>
<tr>
<th>地址:<br>成都理工大学</th>
</tr>
</table>输出内容为
1
2
3
4
5
6
7
8
9<table>
<tr>
<th>地址:<br>成都理工大学</th>
</tr>
</table>infoDiv.innerText
属性,表示在该div内显示内容时,不考虑其中的HTML格式的标签,所有标签都不会解释并原样输出。部分JSON代码如下,请问在客户端弹出窗口输出的内容依次为()。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27function opJSON(){
var stu = {
"sno":"20190101",
"sname":"Tom",
"hobby":["篮球","足球",”排球”],
"college":{
"cname":"成都理工大学",
"city":"成都"
}
};
alert(stu.sname);
alert(stu.hobby[3]);
alert(stu.college.city);
}输出:
Tomundefined成都
数组从0开始,hobby[3]是没有的,因为篮球足球排球是012