第一章
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标签中要设置字体的样式需要使用的属性为
- 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变量的命名是错误的?
(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: 和 />
” ) 标记之间插入动作在“<%!”和“%>”标记之间声明的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>
第五章
现有文件名为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编码,需要在客户提交页面转码交给服务器
第六章
如果远程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缓存与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中保存用户会话信息使用(
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共享访问。可以计数所有访问本页面的浏览器(用户)数。
第九章
某个文件名为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)
//活化,当对象被重新加载(活化)时,执行此方法。
第十章
以下代码定义了一个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技术相关特点,描述正确的是()。
可以促进页面呈现和数据本身分离
减轻服务器负担,避免整个浏览器窗口刷新时造成的重复请求。
对浏览器具有一定的限制,对于不兼容的浏览器,可能无法使用。
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
实验
第十章
1 | package Bean;//库为Bean |
1 | package Bean; |