JSP考试复习题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、选择题
1. 下面哪一个不能作JSP的服务器( D )
A. IBM WebSphere
B. BEA WebLogic
C. Tomcat
D. pws
2. JDBC是JAVA数据库连接API,以下说法中哪些是不正确的( D )
A. 连接数据库
B. 发送SQL语句
C. 处理结果集
D. 建立ODBC数据源
3.给定程序片段:A
<%--在此处插入代码--%>
<html>
<body>
Today is: <%= new Date() %>
</body>
</html>
为了能够让程序正确运行需要在第一行添加以下那条语句?( A )
A. <%@ page import='java.util.Date' %>
B. <%@ import
class='java.util.Date' %>
C. <%@ include file='java.util.Date' %>
D. <%@ include
class='java.util.Date' %>
4.假定login.getName() 返回类型为ng.String ,给定JSP代码: Welcome <%= login.getName() %>以下那个选项及此语句的功能相同?( A )
A. Welocome <% out.print(login.getName());%>
B. Welocome <% Writer.print(login.getName());%>
C. Welocome <% response.out.print(login.getName());%>
D. Welocome <%r esponse.writer.print(login.getName());%>
5. 如果做JSP动态网站的开发,以下( D )可以作为服务器端脚本语言。

A. HTML
B. JSP
C. C++
D. Java
6. 在下面哪个两个web应用目录中可以放置所需要的class或类库?( A/E ) (选择两个选项)
A. /WEB-INF/lib放置jar文件
B. /META-INF/lib放置jar文件
C. /classes 放置已经编译的类文件
D. /WEB-INF/lib 放置已经编译的类文件
E. /WEB-INF/classes 放置已经编译的类文件
7. 下面哪个HTTPServlet的方法能够对服务器端文件进行删除?( D )
A. doGet
B. doPut
C. doPost
D. doDelete
E. doSubmit
8.在当前页面中包含a.htm的正确语句是( D )
A. <%@ include=”a.htm”%>
B. <jsp:include file=”a.htm”/>
C. <%@ include page=”a.htm”%>
D. <%@ include file=”a.htm”%> 9.在JSP程序中若想定义一个方法,必须将该方法放在下列哪种标记
里( C )
A.<% %>
B. <%@ %>
C.<%! %>
D. <%-- --%>
10.以下哪个不是Servlet的方
法( C )
A. destory()
B. init()
C. post()
D.service()
11.下面哪一项关于JSP的说法是不正确
的( C

A. 将内容的生成和显示进行分离
B. 能够跨平台
C. 可以直接在浏览器端解释执行
D. 采用标签简化页面开发
12.以下哪个包不是page指令默认导入的( B )
A.ng.* B.java.util.*
C.javax.servlet.* D.javax.servlet.jsp.*
13.下面哪个方法可使session无效( C )
A.session.setAttribute() B.session.getAttribute() C.session.invalidate() D.session.removeAttribute() 14.对于预定义<%!预定义%>的说法错误的是:( C )
A、一次可声明多个变量和方法,只要以“;”结尾就行
B、一个声明仅在一个页面中有效
C、声明的变量将作为局部变量
D、在预定义中声明的变量将在JSP页面初始化时初始化
15.在传统的HTML页面中加入( 5 )就够成了一个JSP页面。

A. JAVA程序片
B. JSP标签
C. 用“<%.....%>”标记符号括起来的程序
D. JAVA程序片及JSP标签
二、填空题
1.列举五种常见的动态WEB开发技术ASP、PHP、ASP. NET、JSP、CGI。

2.JSP的page指令其language属性默认值____Java______isErrorPage属性的默认值是___ ______true_____;buffer属性的默认值是______8KB______。

3____application_对象对于每个Web应用来说只有一个。

4.Java语言包含三种核心机制:Java 虚拟机、垃圾收集机制和代码安全检测
5.JSP网页文件的扩展名是_________JSP____________。

6、________Servlet_______是运行在服务器端,用来响应客户端请求的java代码模块。

7.___response___对象的类型是javax.servlet.ServletResponse类的实例,JSP引擎会根据客户端的请求信息建立一个默认的_____response___对象。

8.JSP中基本的元素类型有指令、动作、脚本三种。

9. __out__对象用于输出数据,它可以是javax.servlet.jsp.JspWriter的一个实例
三、简答题
1.分析下面的代码,写出include.jsp的运行结果。

include.jsp代码:
<%@ page contentType="text/html;charset=GBK" %>
<html>
<body bgcolor="white" >
这里是显示结果:<br><hr>
<%@ include file="abc.html"%> <p>
<%@ include file="mytxt.txt"%> <p>
<%@ include file="mycode.cod"%> <p>
</body>
</html>
abc.html代码:
<font color="red">
这是插入的Html文件
</font>
mytxt.txt代码:
你好,这是jsp程序。

mycode.cod代码:
<%
String s1="执行代码在这里显示";
out.print("&nbsp;&nbsp;&nbsp;"+s1);
%>
运行结果:
这里显示结果:
这是插入的Html文件
你好,这是jsp程序。

执行代码在这里显示
2.简述编译和使用JavaBean的主要步骤。

⑴用Javac编译Bean类
⑵将编译好的class文件放入classes的相应文件夹下
⑶在JSP页面中使用<jsp:useBean>指令
⑷调用相应的Bean示例的相关方法及属性
<html>
<head>
</head>
<body>
<table border="2">
<tr>
<td colspan=4>第一行</td>
</tr>
<tr>
<th rowspan=3>A</th>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
<tr>
五、阅读下面程序test.jsp,回答问题。

(15分)
文件名称test.jsp
<%@ page contentType="text/html;charset=gb2312" import="java.sql.*"%> <html><body>
<%
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con =DriverManager.getConnection("jdbc:odbc:mydsn","",""); Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from book where price>35.0"); while(rs.next())
{
out.print(rs.getString(2));
out.print(rs.getDouble(4));
out.print(“<br>”);
}
rs.close();
stmt.close();
con.close();
}
catch(SQLException e)
{ out.println(e.getMessage()); }
%>
</body></html>
数据源已配置完成,其中book表的内容如下所示:
bookID(文本型) bookName(文本型) publisher(文本型) price(双精度型)
001-22-23-1 J2EE应用开发清华大学出版社 66.5
001-22-23-2 Java编程思想机械工业出版社 35.0
001-22-23-3 JSP应用开发详解电子工业出版社 59.9
(1)请写出本程序中所使用的数据库驱动程序的名称(驱动程序类名)
(2)写出本程序中用到的JDBC-ODBC桥名称
(3)访问test.jsp页面,写出该页面的输出结果。

(1 sun.jdbc.odbc.JdbcOdbcDriver
(2) jdbc:odbc:mydsn","",""
(3)J2EE应用开发
JSP应用开发详解
六、编写程序reg.htm和reg.jsp,做一用户注册界面,包括:用户名,年龄,性别。

然后提交到reg.jsp进行注册检验,若用户名为admin,就提示“欢迎你,管理员”,否则,显示“注册成功”并显示出注册信息。

(15分)
Reg.htm
<%@ page contentType="text/html;charset=GBK" %>
<html>
<body>
<form method=post action="reg.jsp">
用户名:
<input type=text name="name"><br>
年龄:
<input type=text name="age"><br>
性别:
<input type=text name="sex"><br>
<input type=submit value="submit">
</form>
</body>
</html>
Reg.jsp
<%@ page contentType="text/html;charset=GBK" %>
<html>
<head>
<title>注册检验</title>
</head>
<body>
<%
if(request.getParameter("name").equals("admin"))
out.println("欢迎你,管理员");
else
{out.println("注册成功"+"<br>");
out.println("用户名:"+ request.getParameter("name")+"<br>");
out.println("年龄:"+ request.getParameter("age")+"<br>");
out.println("性别:"+ request.getParameter("sex")+"<br>");
}%>
</body>
</html>
一、选择题
1. 下列哪一种不是JSP页面的组成元素( D )
A. JSP标签
B. 指令标签
C. Java表达式
D. C语言表达式
2.以下那一个是HttpSession的方法、并能实现在session中存放数据? ( C )
A. put(String name. Object value)
B. set(String name. Object value)
C. setAttribute(String name. Object value)
D. putAttribute(String name. Object value)
3.JS的页面构成包含了多种元素,在下列选项中,属于JSP指令的是( C )
A. out
B. request
C. forward
D. import
4.从( A )开始,到( )结束,被称为一个会话。

A. 访问者连接服务器,访问者关闭浏览器离开服务器
B. 服务器启动,服务器关闭
C. 访问者连接服务器,服务器关闭
D. 服务器启动,访问者关闭浏览器离开服务器
5.在JSP中使用javaBean,我们必须使用动作标签( A )
A. useBean
B. useBeabs
C. beans
D. JavaBeans
6.Page指令的import属性的作用是:( C )
A. 定义JSP页面响应的MIME类型。

B. 定义JSP页面使用的脚本语言。

C. 为JSP引入JAVA包中的类。

D. 定义JSP页面字符的编码。

7.若在某JSP文件中有如下语
句:
<% out.println("hello");
out.clear();
out.println("Still say hello");
out.println("BufferSize of the out Object is :
"+out.getBufferSize());
%>,其执行结果是
( D )
( )
(A) hello Still say hello
BufferSize of the out Object is : 8192
(B) hello
Still say hello
BufferSize of the out Object is : 8
(C)Still say hello
BufferSize of the out Object is : 8192
(D) Still say hello BufferSize of the out Object is : 8192
8.在JSP页面中,下列( )对象封装了用户提交的信息,使用该对象可以获取用户的信息。

B
A. session
B. request
C.application
D. response
9.下列选项中不属于服务器端动态网页技术的
是( C )
A. ASP
B. JSP
C. JavaScript
D. PHP
10.下面哪一个属性不是<%@ page %>标签的属
性( D )
A. language
B. contentType
C. import
D. name
11.表单标记中的action属性的作用

( C )
A. 为表单命名
B. 调用客户端验证方法
C. 指明表单信息发送的目的地址
D. 声明表单的提交方式
12.以下不属于out对象的方法的是( C )
A. print()
B. println()
C. getAttibute() D .close()
13.在Servlet的生命周期中,不会调用的方法是 ( D )
A. init()
B. service()
C. destory() D .run()
14.以下关于JavaBean的描述错误的是( C )
A. JavaBean是一个公有java类
B. JavaBean提供给外界使用的方法是公有类型的
C. JavaBean必须有一个带参构造方法
D. 在JSP中使用的JavaBean必须放在一个有名包中
15.不能在不同用户之间共享数据的方法是( A )
A、通过cookie
B、利用文件系统
C、利用数据库
D、通过ServletContext对象
二、填空题
1.HTML文件的扩展名是_ htm、html
2.列举五种支持JSP及Servlet的常用WEB服务器_ TOMCAT、JSWDK、IIS、JRUN、JBUILDER
3.HTTP请求最重要的两种类型是__ GET和POST
4.JSP的英文全称是_ JAVA SERVER PAGES
5.JAVABEAN中常用的四种属性是__简单属性、索引属性、限制属性、绑定属性
6.JSP中共享数据,大体上分为两种情况,第一种是在__同一个用户的不同页面_之间共享数据,另一种是在__不同用户__之间共享数据。

7.JSP提供了out、request、pageContext、_ Response、session _、config、___ application ___page和_ exception_九个内置对象。

三、简答题
1.JSP中动态INCLUDE及静态INCLUDE的区别?
如果文件仅仅是静态文件,那么这种包含仅仅是把包含文件的内容加到JSP文件中去,但这个被包含文件不会被JSP编译器执行。

相反,如果这个被包含文件是动态的文件,那么他将被JSP编译器执行。

如果是动态文件还可以用<jsp:param>传递参数
2.简述Servlet的生命周期。

Servlet运行机制和Applet类似,Servlet是载服务器端运行的,但是Applet是在客户端运行的。

Servlet是javax.servlet包中HttpServlet类的子类,由服务器完成该子类的创建和初始化。

Servlet的生命周期主要由3个过程组成。

1、init()方法:服务器初始化Servlet。

1’
2、service()方法:初始化完毕,Servlet对象调用该方法相应客户的请求。

3、destroy()方法:调用该方法消灭Servlet对象。

其中,init()方法只在Servlet第一次被请求加载的时候被调用一次,当有客户再请求Servlet服务时,Web服务器将启动一个新的线程,在该线程中,调用service方法相应客户的请求。

四、阅读下列程序(forward.jsp和forforward.jsp)
文件名称:forward.jsp
<html><body>
<jsp:forward page="forforward.jsp">
<jsp:param name="name" value="Andy"/>
<jsp:param name="friend" value="<%=request.getParameter(\"friend\")%>"/>
</jsp:forward>
</body></html>
文件名称:forforward.jsp
<%=request.getParameter("name")%>
And
<%=request.getParameter("friend")%>
are good friends!
(1)在浏览器的地址栏中输入http://127.0.0.1:8080/myjsp/forward.jsp?friend=Jack 后回车,写出页面上的输出结果。

(2)本例中使用了<jsp:forward>动作进行重定向,请问页面执行完毕后,浏览器地址栏中的文件名仍保持forward.jsp文件名不变,还是改变为重定向后的新文件名forforward.jsp?
1.Andy and Jack
2.仍保持不变
五、编写一个HTML文件,利用Servelt的doPost方法实现Form表单内容的读取。

(15分)
<HTML>
<BODY>
<FORM ACTION="/doget" METHOD="get"> 2’
请输入姓名:
<INPUT TYPE="TEXT" NAME="myname"><br> 1’
您的兴趣:
<SELECT NAME="love"> 2’
<OPTION value="Sleep">Sleep</OPTION>
<OPTION value="Dance">Dance</OPTION>
<OPTION value="Travel">Travel</OPTION>
</SELECT><br>
<INPUT TYPE="SUBMIT" NAME="mysubmit"><br> 1/
<INPUT TYPE="RESET" VALUE="重新来过"><br> 1’
</FORM>
</BODY>
</HTML>
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*; 1’
public class j5_03 extends HttpServlet 1’
{ public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException 2’{ res.setContentType("text/html");
PrintWriter out = res.getWriter(); 1’
out.println("<html><head></head><body>");
out.println("name: " + req.getParameter("myname")); 1’
out.println("<br>");
out.println("love: " + req.getParameter("love"));
out.println("</body></html>");
out.close();
}
public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException,IOException{
doPost(req,res); }}
六、阅读下列程序(JiSuanQi.java和act.jsp),回答问题。

文件名称:JiSuanQi.java
package jisuan;
public class JiSuanQi {
private String value1;
private String value2;
private String op;
public JiSuanQi() {
value1 = "";
value2 = "";
op = "";
}
public void setValue1(String v1) {
value1 = v1;
}
public void setValue2(String v2) {
value2 = v2;
}
public void setOp(String o) {
op = o;
}
public String jiSuan() {
int v1 = Integer.parseInt(value1);
int v2 = Integer.parseInt(value2);
int result=0;
if(op.equals("+")) {
result = v1 + v2;
}
else if(op.equals("-")) {
result = v1 - v2;
}
else if(op.equals("*")) {
result = v1 * v2;
}
else {
result = v1 / v2;
}
return ""+result;
}
}
文件名称:act.jsp
<jsp:useBean class="jisuan.JiSuanQi" scope="page" id="jisuanqi"/>
<jsp:setProperty name="jisuanqi" property="value1" value="4012"/>
<jsp:setProperty name="jisuanqi" property="value2" value="2"/>
<jsp:setProperty name="jisuanqi" property="op" value="/"/>
<%
String result=jisuanqi.jiSuan();
out.println(“result is:”+result);
%>
(1)写出act.jsp中使用的JavaBean的名称(类的全名)。

(2)访问act.jsp页面,写出该页面的输出结果。

(要求写出如何得出结果的全过程)jisuan.JiSuanQi.class
第一个操作数为 :4012
第二个操作数为 :2
运算符为: /
结果为:2006
一、选择题
1.在配置tomcat虚拟目录时,需要打开哪个文件?( C )
A. index.jsp
B. web.xml
C. server.xml
D. 以上都不是
2.在编译Servlet或JavaBean时,我们使用的命令是:( A )
A、javac
B、java
C、Servlet
D、以上都不是
3. JSP 页面经过编译之后,将创建一个( B )
A.applet B.servlet
C.application D.exe文件
4.下面哪项不是useBean动作可能的属性值( A )
A.contentType
B. id
C. scope D.class
5.关于JDBC 网络纯Java 驱动程序下列说法不正确的是?( D )
A.JDBC 网络纯Java 驱动程序,把JDBC 调用解释为及数据库管理系统独立的网络协议,这种网络协议再被服务器解释成数据库管理系统的协议。

B.这个中间件网络服务器可以把纯Java 客户端及多个不同的数据库连接起来,所使用的协议及生产厂商相关。

C.这是最灵活的JDBC 可选方案,不必要求客户端安装本地库,所有的生产厂商很可能都会提供适合于内部网使用的产品,要使这些产品支持因特网它们必须处理针对安全、防火墙访问等网络方面的额外要求。

D.都不正确
6.<img>标记符中连接图片的参数是:( D )
A. href
B. src
C. type
D. align
7.关于JDBC-ODBC 桥和ODBC驱动程序下列说法不正确的是?( D )
A.ODBC 二进制码以及在很多情况下的数据库客户端代码必须在每个使用该驱动的客户端进行安装,如果在程序所使用的网络里安装客户端不是个大问题,
B.或者三层结构的应用服务器代码由Java 编写,那么使用这种驱动程序就很适合。

C.JDBC-ODBC 桥驱动程序的java.sql.Drive 接口在sun.jdbc.odbc.JdbcOdbcDriver 中实现。

并且在JAVA_HOME\BIN 目录下有JdbcOdbc.dll 文件支持。

D.都不正确
8.方法 executeUpdate 不用于的语句有:( B )
A. INSERT
B. SELECT
C. UPDATE
D. DELETE
9.假如发布了一个名为my.jsp的应用系统,域名为My_,本机的IP地址是
202.163.45.68。

下面的几种方式哪一种是可以访问这个系统的。

( A )
A. 在本机:http://127.0.0.1:8080/my.jsp
B. 在局域网内的其它计算机:http://127.0.0.1:8080/my.jsp
C. 在因特网上的其它计算机:http://127.0.0.1:8080/my.jsp
D. 在本计算机的主文夹下,双击一个my.jsp的文件
10.在Web应用的部署描述文件中下面哪个选项能够将com.example.LoginServlet servlet 映射为 /utils/LoginServlet?( D )
A. <servlet>
<servlet-class>com.example.LoginServlet</servlet-class>
<url-pattern>/utils/LoginServlet</url-pattern>
</servlet>
B. <servlet-mapping>
<servlet-class>com.example.LoginServlet</servlet-class>
<url-pattern>/utils/LoginServlet</url-pattern>
</servlet-mapping>
C. <servlet>
<servlet-mapping>
<servlet-class>com.example.LoginServlet</servlet-class>
<servlet-name>Login Servlet</servlet-name>
<url-pattern>/utils/LoginServlet</url-pattern>
</servlet-mapping>
</servlet>
D. <servlet>
<servlet-name>Login.Servlet</servlet-name>
<servlet-class>com.example.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Login.Servlet</servlet-name>
<url-pattern>/utils/LoginServlet</url-pattern>
</servlet-mapping>
11.下面哪项不属于数据库最常用的基本操作( B )
A. 查询(Select)
B. 装载(Load)
C. 插入(Insert)
D. 更新(Update)
12.用于将其他JSP页面的内容或文件嵌入到现有JSP页面的是( C )
A、param
B、useBean
C、include
D、setProperty
13. pageContext对象提供对( A )和request对象的访问权限
A、session
B、param
C、header
D、cookie
14.下面哪一个不是JSP本身已加载的基本类?( B )
A. ng.*
B. java.io.*
C. javax.servlet.*
D.j avax.servlet.jsp.*
15.在J2EE中,以下是有关jsp:setProperty和jsp::getProperty标记的描述,正确的是( B )
A. <jsp:setProperty>和<jsp:getProperty>标记都必须在<jsp:useBean>的开始标记和结束标记之间
B. 这两个标记的name属性的值必须和<jsp:usebean>标记的id 属性的值相对应
C. <jsp:setProperty>和<jsp:getProperty> 标记可以用于对bean中定义的所有属性进行选择和设置
D. 这两个标记的name属性的值可以和<jsp:usebean>标记的 ID属性的值不同
二、填空题
1.超链接一般分同一页面超链接和______不同一页面超链接__两种。

2.20世纪90年代,汤姆·伯勒斯·李创造了_HTML__语言,提出了HTTP通信协议。

3.说明下列标记作用: <checkbox> ng.* 、<radio>__ javax.servlet.*_、<img>_ javax.servlet.jsp.* <select>_ javax.servlet.http.*__
4.对于每一个用户都共享同一个对象的是session、对象,而每个用户分别使用不同对象实例的是application 对象。

5. Jsp注释中一种是__ java __注释,其注释语法为// 或/**/。

另一种注释是Jsp注释,其语法为___<%-- --%>___。

6.当getParameter()方法的参数部分指定的输入控件不存在时,该方法的返回值为___ null _。

7.Bean组件的活动范围或叫生存周期有request、page、session、application_四种。

8.JSP中基本的元素类型有_指令、动作、脚本三种。

9.若要修改Tomcat服务默认使用的端口号,可以在__ server.xml _l_文件中修改。

10.XML完整的英文全称是__ extensible markup language ___。

三、简答题
1.编写JavaBean的时候,要注意哪些?
⑴如果类的成员变量的名字是xxx,那么为了更改或获取成员变量的值,在类中使用两个方法:
getXxx(),用来获取属性xxx。

setXxx(),用来修改属性xxx。

⑵对于boolean类型的成员变量,允许使用is代替get和set。

⑶类中方法的访问属性必须是public的。

⑷类中如果有构造方法,那么这个构造方法也是public的,并且是无参数的。

2. out对象有什么功能,out.print和document.write有什么区别?
⑴ out对象是javax.servlet.jsp.JspWriter类的一个子类的对象,它的作用是把信息回送到客户端的浏览器中。

⑵在out对象中,最常用的方法就是print()和println()。

在使用print()或println()方法时,由于客户端是浏览器,因此向客户端输出时,可以使用HTML中的一些标记,例如:“out.println("<h1>Hello,JSP</h1>");
⑶ out.print是JSP代码,被服务器解释执行。

⑷ Document.write是JavaScript代码,被客户端浏览器解释执行。

⑤加入代码变换函数
<html>
<head>
</head>
<body>
<table border="2">
<tr>
<td colspan=4>第一行</td>
</tr>
<tr>
<td>B</td>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<th rowspan=2>A</th>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
<tr>
<td>7</td>
<td>8</td>
<td>9</td>
</tr>
</table>
</body>
</html>
五、编写程序reg.htm和reg.jsp,做一用户注册界面,注册信息包括:用户名,年龄,
性别。

然后提交到reg.jsp进行注册检验,若用户名为admin,就提示“欢迎你,管理员”,否则,显示“注册成功”并显示出注册信息
reg.htm
<html>
<form action="test.jsp" method="post">
用户名:<input type="text" name="name"><br>
年龄:<input type="text" name="age"><br>
性别:<input type="radio" name="gender">男<input type="radio" name="gender">女<br>
<input type="submit" name="submit" />
</form></html>
reg.jsp
<%@ page contentType="text/html; charset=gb2312" %>
<%
String name=request.getParameter("name");
String age=request.getParameter("age"); ’
String gender=request.getParameter("gender");
if(name.equals("admin"))
out.println("欢迎你,管理员");
else
{ out.println("注册成功<br>");
out.println("用户名是:"+name);
out.println("年龄是:"+age);
out.println("性别是:"+gender);
}
%>
六:编写程序向浏览器写入Cookie集合,然后从浏览器端读取Cookie集合。

(15分)Cookie对象是由Web服务器端产生后被保存到浏览器中的信息。

Cookie对象可以用来保存一些小量的信息在浏览器中。

目前主流的浏览器(Internet Explorer和Netscape Navigator)都支持Cookie。

⑴写入Cookie
<%@ page contentType="text/html;charset=GBK" %>
<%
String strName = "Zhourunfa";
Cookie c = new Cookie("Name1", strName);
response.addCookie(c);
%>
⑵读出Cookie
<%@ page contentType="text/html;charset=GBK" %>
<HTML><BODY>
<%
Cookie cookies[] = request.getCookies();
for(int i=0; i<cookies.length; i++) {
if(cookies[i].getName().equals("Name1"))
out.print(cookies[i].getValue()); }
%>。

一、选择题
1. 以下对象中作用域最大的是( C )。

A、request
B、session
C、application
D、page
2. 编写JavaBean就是编写一个Java类,所以只要会写类就能编写一个Bean,一个完整JavaBean在类的命名上需要遵守以下规则,其中错误的是( D )。

A、类中方法的访问属性必须是public的。

B、对于boolean类型的成员变量,允许使用is代替get和set。

C、类中如果有构造方法,那么这个构造方法也是public的,并且是无参数的。

D、在JavaBean中定义属性时,应该定义成public。

3.给定程序片段:
<%--在此处插入代码--%>
<html>
<body>
Today is: <%= new Date() %>
</body>
</html>
为了能够让程序正确运行需要在第一行添加以下那条语句?( A )
A. <%@ page import='java.util.Date' %>
B. <%@ import
class='java.util.Date' %>
C. <%@ include file='java.util.Date' %>
D. <%@ include
class='java.util.Date' %>
4.以下代码能否编译通过,假如能编译通过,运行时得到什么打印结果?( A )request.setAttribute(\"count\",new Integer(0));
Integer count = request.getAttribute(\"count\");
A. 不能编译通过
B. 能编译通过,并正常运行
C. 编译通过,但运行时抛出ClassCastException
D. 都不是
5. 对于预定义<%!预定义%>的说法错误的是:( C )。

A、一次可声明多个变量和方法,只要以“;”结尾就行
B、一个声明仅在一个页面中有效
C、声明的变量将作为局部变量
D、在预定义中声明的变量将在JSP页面初始化时初始化
6. 以下有关表单的说明中,错误的是( C )
A.表单通常用于搜集用户信息。

B.在 FORM 标记符中使用 action 属性指定表单处理程序的位置。

C.表单中只能包含表单控件,而不能包含其他诸如图片之类的内容。

D.在 FORM 标记符中使用 method 属性指定提交表单数据的方法。

7. 下面哪个说法是正确的? ( B )
A. 对于每个要求访问maillogin.jsp的HTTP请求,Servlet容器都会创建一个HttpSession对象
B. 每个HttpSession对象都有惟一的ID。

C. JavaWeb应用程序必须负责为HttpSession分配惟一的ID
D. 都不对
8. ( C )可在JSP页面出现该指令的位置处,静态插入一个文件。

A、page指令标签
B、page指令的import属性
C、include指令标签
D、include动作标签
9.在传统的HTML页面中加入( D )就构成了一个JSP页面文件。

A、JAVA程序片
B、JSP标签
C、用“<%”、“%>”标记符号括起来的程序
D、JAVA程序片和JSP标签10.page指令的( C )属性可以设置JSP页面是否可多线程访问
A、session
B、buffer
C、isThreadSafe
D、info
11.下面哪一项关于JSP的说法是不正确的( C )
A. 将内容的生成和显示进行分离
B. 能够跨平台
C. 可以直接在浏览器端解释执行
D. 采用标签简化页面开发
12.以下哪个包不是page指令默认导入的( B )
A.ng.* B.java.util.*
C.javax.servlet.* D.javax.servlet.jsp.*
13.下面哪个方法可使session无效( C )
A.session.setAttribute() B.session.getAttribute() C.session.invalidate() D.session.removeAttribute() 14.在客户端浏览器的源代码中可以看到( C )
A、JSP注释
B、HTML注释
C、JSP注释和HTML注释
D、JAVA注释
15.假设在helloapp应用中有一个Javabean文件HelloServlet,它位于org.javathinker包下,那么这个bean的class文件应该放在什么目录下?
( D )
A、helloapp/HelloServlet.class
B、 helloapp/WEB-INF/HelloServlet.class
C、helloapp/WEB-INF/classes/HelloServlet.class
D、helloapp/WEB-INF/classes/org/javathinker/HelloServlet.class
二、填空题(每空1 分,共20分)
1.列举五种常见的动态WEB开发技术__ ASP、PHP、ASP. NET、JSP、CGI
2.使用page指令引入java.util.*的语句为<%@ page import=” java.util.*” %> 3.Title标记符位于____ head___标记符之间。

4.Java语言包含三种核心机制:_ Java 虚拟机、垃圾收集机制和代码安全检测_。

5.在JSP中专门提供三个页面指令来和JavaBean交互,分别是_<jsp:useBean/>指令、_<jsp:setProperty/>指令和_<jsp:getProperty/> 指令。

6、Servlet _是运行在服务器端,用来响应客户端请求的java代码模块。

7.response对象的类型是javax.servlet.ServletResponse类的实例,JSP引擎会根据客户端的请求信息建立一个默认的__ response _对象。

8. JSP中基本的元素类型有_指令、动作、脚本三种。

9.在使用JSP对数据库进行操作时,Statement类的excecuteQuery() 方法用于执行SQL 语言中的查询语句,excecuteUpdate()方法,用于执行SQL语言中的插入、删除和修改语句。

三、简答题
1.分析下面的代码,写出include.jsp的运行结果。

include.jsp代码:
<%@ page contentType="text/html;charset=GBK" %>
<html>
<body bgcolor="white" >
这里是显示结果:<br><hr>
<%@ include file="abc.html"%> <p>
<%@ include file="mytxt.txt"%> <p>
<%@ include file="mycode.cod"%> <p>
</body>
</html>
abc.html代码:
<font color="red">
这是插入的Html文件
</font>
mytxt.txt代码:
你好,这是jsp程序。

mycode.cod代码:
<%
String s1="执行代码在这里显示";
out.print("&nbsp;&nbsp;&nbsp;"+s1);
%>
运行结果:
1.这里显示结果:
这是插入的Html文件
你好,这是jsp程序。

执行代码在这里显示
3.在定义JavaBean作用范围scope属性时可以取哪四个值?作用范围分别是什么?
JavaBeans可以定义四种生命周期page、request、session及application,将分别运用pageContext、request、session、application四种对象的setAttribute方法,将JavaBeans对象保存在该对象中。

下面分别说明:
Page的有效范围仅仅涵盖使用JavaBeans的页面,一旦你离开此页面,JavaBeans对象的实体也将随之消失。

1’
Request的有效范围仅及于使用JavaBeans的请求而已,一旦你结束该页面的请求,JavaBeans对象的实体也将随之消失。

在创建BEAN示例的JSP页面page指令中使用session=true. 1’
Session的有效范围涵盖了整个用户会话时期。

在用户会话期间,JavaBeans对象的实体均不会消失。

当用户会话结束时,JavaBeans对象的实体才会消失。

1’
Application的有效范围则涵盖了整个应用程序时期。

在应用程序期间,JavaBeans对象的实体均不会消失。

只有当应用程序结束时,JavaBeans对象的实体才会消失。

<html>
<head>
</head>
<body>
<table border="2">
<tr>
<td colspan=4>第一行</td>
</tr>
<tr>
<th rowspan=3>A</th>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
</tr>
<tr>
五、阅读下面程序test.jsp,回答问题。

文件名称test.jsp
<%@ page contentType="text/html;charset=gb2312" import="java.sql.*"%>
<html><body>
<%
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con =DriverManager.getConnection("jdbc:odbc:mydsn","",""); Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from book where price>=35.0");
while(rs.next())
{
out.print(rs.getString(3));
out.print(rs.getDouble(4));
out.print(“<br>”);
}
rs.close();
stmt.close();
con.close();
}
catch(SQLException e)
{ out.println(e.getMessage()); }
%>
</body></html>
数据源已配置完成,其中book表的内容如下所示:
bookID(文本型) bookName(文本型) publisher(文本型) price(双精度型)
001-22-23-1 JSP程序设计教程北京大学出版社 66.5
001-22-23-2 Java编程思想机械工业出版社 35.0
001-22-23-3 JSP应用开发详解电子工业出版社 59.9
(1)请写出本程序中所使用的数据库驱动程序的名称(驱动程序类名)。

(4分)(2)写出本程序中用到的JDBC-ODBC桥名称(4分)
(3)访问test.jsp页面,写出该页面的输出结果。

(7分)
(1) sun.jdbc.odbc.JdbcOdbcDriver
(2)jdbc:odbc:mydsn","",""
(3)北京大学出版社 66.5
机械工业出版社 35.0
电子工业出版社 59.9
六、编写一个Servlet,要求通过浏览器地址栏访问该Servlet后,输出一个别1行1列的表格,表格中的内容为“保护环境!爱护地球!”。

(15分)
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class HelloWorldExample extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
ResourceBundle rb =。

相关文档
最新文档