admin 管理员组文章数量: 887239
2024年1月16日发(作者:微信小程序开发教程高磊)
Java Web 复习题集(2)
一、单项选择题(请将所选择的答案号码填写在每小题中的圆括号内)
1、要设置某个JSP页面为错误处理页面,以下page指令正确的是( )。
A)<%@ page errorPage="true" %>
B)<%@ page isErrorPage="true" %>
C)<%@ page extends="orPage" %>
D)<%@ page info="error" %>
2、当浏览器第二次访问以下JSP网页时的输出结果是( )。
<%! int a=1; %>
<%
int b=2;
a++;
b++;
%>
a=<%=a%> b=<%=b%>
A)a=1 b=2 B)a=2 b=2
C)a=2 b=3 D)a=3 b=3
3、关于
A)它可以包含静态文件
B)它可以包含动态文件
C)当它的flush属性为true时,表示缓冲区满时,将会被清空
D)它的flush属性默认值为true
4、需要删除session中的某个属性key,可以调用下面的( )方法。
A)remove("key") B)removeAttribute("key")
C)invalidate() D)logout()
5、以下代码能否编译通过,假如能编译通过,运行时得到的输出结果是(<%
ribute("count",new Integer(0));
Integer count = ribute("count");
%>
<%=count %>
A)编译不通过
B)可以编译运行,输出0
C)编译通过,但运行时抛出ClassCaseException
D)可以编译通过,但运行无输出
6、现在session中没有任何属性,下面两段JSP脚本代码,将分别输出(
<%
n(ribute("save"));
%>
<%
)。)。
date();
n(ribute("save"));
%>
A)null,异常信息 B)null,null
C)异常信息,异常信息 D)异常信息,null
7、Form表单提交的信息中含有"name = save",阅读下面的JSP,将输出( )。
接受该请求的JSP:
<%
direct("");
%>
包含如下代码:
<%=ameter("name")%>
A)null B)什么都不输出
C)异常信息 D)save
8、有关会话技术描述不正确的是( )。
A)Cookie是Web服务器发送给客户端的一小段信息,客户端请求时,可以读取该信息发送到服务器端
B)关闭浏览器意味着会话ID丢失,但所有与原会话关联的会话数据仍将保留在服务器上,直至会话过期
C)在禁用Cookie时可以使用URL重写技术跟踪会话
D)隐藏表单域在页面上不可视,它相当于一个变量,如果把一个session数据存储在其中,则提交表单时,隐藏表单域中的数据也会被提交给服务器
9、将Cookie保存到客户端,就是为了以后得到其中保存的数据。以下说法错误的是( )。
A)调用HttpServletRequest的getCookies()得到一个Cookie对象的数组
B)在客户端传来的Cookie数据类型都是数组类型,因此要得到其中某一项指定的Cookie对象,需要遍历数组来找
C)在客户端传来的Cookie数据类型都是枚举类型,因此要得到其中某一项指定的Cookie对象,需要指定元素位置来找
D)JSP调用kies()从客户端读入Cookie,getCookies()方法返回一个HTTP请求头中的内容对应的Cookie对象
10、关于JavaBean正确的说法是( )。
A)Java文件与Bean所定义的类名可以不同,但一定要注意区分字母的大小写
B)在JSP文件中引用 Bean,其实就是用
C)被引用的Bean文件的文件名后缀为.java
D)Bean文件放在任何目录下都可以被引用
11、下列代码生成了一个结果集
conn=nection(uri,user,password);
stmt=Statement(_SCROLL_SENSITIVE,_READ_ONLY);
rs=eQuery("select * from book");
();
us();
下面对该rs描述正确的是( )。
A)t()为真 B) ()为真
C)rLast()为真 D)reFirst()为真
12、下面Servlet的( )方法用来为请求服务,在Servlet生命周期中,Servlet每被请求一次,它就会被调用一次。
A)service() B)init() C)doPost() D)destroy()
13、在Java EE中,Servlet从实例到消亡是一个生命周期。下列描述正确的是( )。
A)在典型的Servlet生命周期模型中,每次Web请求就会创建一个Servlet实例,请求结束, Servlet就消亡了
B)init()方法是容器调用的Servlet实例,此方法仅运行一次
C)在容器把请求传送给Servlet之后,和在调用Servlet实例的doGet()或者doPost()方法之前,容器不会调用Servlet实例的其他方法
D)在Servlet实例调用service()方法处理客户请求时,容器调用Servlet实例的init()方法一定成功运行了
14、在Java EE中,给定某Servlet的代码如下,编译运行该文件,以下陈述正确的是( )。
public class Servlet1 extends HttpServlet {
public void init() throws ServletException {
}
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = ter();
n("hello!");
}
}
A)编译该文件时会提示缺少doGet()或者doPost()方法,编译不能成功通过
B)编译后,把放在正确位置,运行该Servlet,在浏览器中会看到输出文字:hello!
C)编译后,把放在正确位置,运行该Servlet,在浏览器中看不到任何输出的文字
D)编译后,把放在正确位置,运行该Servlet,在浏览器中会看到运行期错误信息
15、在文件中,有下列代码:
文件的代码如下:
<%@ page contentType="text/html;charset=gbk" %>
访问文件,过滤器LoginFilter过滤的文件有( )。
A) B)
C), D),
16、为实现对代码动作的监听,需要定义的监听器必须实现( )接口。
<%
getServletContext().setAttribute("username","hellking");
getServletContext().removeAttribute("username");
%>
A)ServletContextListener B)ServletContextAttributeListener
C)HttpServletContextListener D)HttpServletContextAttributeListener
17、给定某Servlet程序的片断如下,用户在浏览器地址栏中输入正确的请求URL并回车后,在控制台上的显示结果是( )。
public void doGet(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
("get");
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws
ServletException, IOException {
("post");
}
A)get B)post C)getpost D)postget
18、给定程序片断:
<% String value = "beanvalue"; %>
<% ribute("",value); %>
<%--插入代码处--%>
在第3行插入EL表达式( ),能够计算并输出"beanvalue"。
A)${ value }
B)${ beanvalue }
C)${ requestScope[""] }
D)${ribute("").toString()}
19、假定在web应用中,请求参数productID包含产品的标识符,下面EL表达式( )能够计算productID的值。
A)${productID} B)${tID}
C)${tID} D)${tID[1]}
20、用户的会话对象中存在属性cart,以下语句( )能够将该属性从session中删除。
A)${cart = null} B)
C)
21、单纯使用HTML设计的页面一般称为( )。
A)动态页面 B)静态页面 C)文本页面 D)JSP页面
22、JSP页面运行时被JSP引擎转化为( )。
A)HTML文件 B)CGI文件 C)CSS文件 D)Servlet文件
23、用来建立有序列表的标签是( )。
A)
24、用来插入图片的标签是( )。
A) B) 25、对JSP中的HTML注释叙述正确的是( )。 A)发布网页时看不到,在源文件中也看不到 B)发布网页时看不到,在源文件中能看到 C)发布网页时能看到,在源文件中看不到 D)发布网页时能看到,在源文件中也能看到 26、在同一个JSP页面里page指令的属性中可以使用多次的是( )。 A)import B)session C)extends D)info 27、用于获取Bean属性的动作是( )。 A) C) 28、用于为其他动作传递参数的动作是( )。 A) C) 29、response对象的setHeader(String name, String value)方法的作用是( )。 A)添加HTTP文件头 B)设定指定名字的HTTP文件头的值 C)判断指定名字的HTTP文件头是否存在 D)向客户端发送错误信息 30、设置session的有效时间(也叫超时时间)的方法是( )。 A)setMaxInactiveInterval(int interval) B)getAttributeName() C)setAttributeName(String name, value) D)getLastAccessedTime() 31、out对象的方法中能清除缓冲区中的数据,并且把数据输出到客户端的是( )。 A)wLine() B)() C)() D)uffer() 32、pageContext对象的findAttribute()方法作用是( )。 A)用来设置默认页面的范围或指定满园之中的已命名对象 B)用来删除默认页面的范围或指定满园之中的已命名对象 C)按照页面请求、会话以及应用程序范围的顺序实现对某个已命名属性的搜索 D)以字符串的形式返回一个对异常的描述 33、JDBC提供3个接口来实现SQL语句的发送,其中执行简单不带参数SQL语句的是( )。 A)Statement B)PreparedStatement C)CallableStatement D)DriverStatement 34、Statement提供3个执行SQL语句的方法,其中用来执行更新操作的是( )。 A)excuteQuery() B)executeUpdate() C)next() D)query() 35、负责处理驱动的调入并产生对新的数据库连接支持的接口是( )。 A)DriverManager B)Connection C)Statement D)ResultSet 36、下列不是JavaBean的作用域的是( )。 A)bound B)page C)request D)application 37、JavaBean分为( )种。 A)2 B)3 C)4 D)5 38、在JSP / Servlet的生命周期中,用于初始化的方法是( )。 A)doPost() B)doGet() C)init() D)destroy() 39、Servlet文件在Java Web开发中的主要作用是( )。 A)开发页面 B)作为控制器 C)提供业务功能 D)实现数据库连接 40、以下关于JavaBean的定义应遵循的规范说法错误的是( )。 A)必须写有一个无参的构造方法 B)设置和获取属性XXX值时,使用setXXX和getXXX方法 C)对于boolean类型的成员变量,允许使用is代替set和get D)无参的构造方法可以省略不写(即默认) 二、判断题(以下论述中你认为正确的请选择“√”,错误的请选择“×”,并将所有的选择结果填写在每小题后面的一对圆括号内) 1、动态网页是在服务器端被执行,其中嵌入的代码只能在服务器端运行,不能在客户端浏览器中运行。( √ ) 2、colspan是 3、超链接只能在不同的网页之间跳转。( × ) 4、在page指令中,import参数允许重复使用多次。( √ ) 5、当page标识的isThreadSafe属性设为true时,JSP只可以接受一个用户访问。( × ) 6、 7、利用response对象的sendRedirect()方法只能实现本网站内的页面跳转,不能传递参数。( × ) 8、contentTYpe属性用来设置JSP页面的MIME类型和字符编码集,取值格式为"MIME类型"或"MIME类型;charset=字符编码集",response对象调用addHeader()方法修改该属性的值 。( × ) 9、Cookie在生成时就会被指定一个Expire值,这就是Cookie的生成周期,在这个周期内Cookie有效,超出周期Cookie就会被清除。( √ ) 10、Bean文件放在任何目录下都可以被引用。( × ) 11、 12、数据库服务与Web服务器需要在同一台计算机上。( × ) 13、可以给一个Servlet映射多个访问路径。( √ ) 14、JSP技术是在Servlet之后产生的,它以Servlet为核心技术,是Servlet技术的一个成功应用。( √ ) 15、实现转发需要两个步骤,首先在Servlet中要得到RequestDispatcher对象,然后再调用该对象的forward()方法实现转发。( √ ) 16、部署过滤器的工作内容,其实就是在Web实际应用的文件中配置过滤器。( √ ) 17、在文件中部署监听器,用 18、JSTL代码片断 19、 20、在的根元素 21、HTML标签用来对文件(超文本文档)内容进行标注,指出内容的输出格式。( √ ) 22、中的属性http-equiv用于向浏览器提供一些说明信息,浏览器根据这些说明做出相应的处理。( √ ) 23、表示使用指定图片来代替提交按钮。( √ ) 24、在 25、<%@page contentType="text/html" pageEncoding="UTF-8"%> 与 <%@page contentType="text/html;charSet=UTF-8"%> 执行效果相同。( √ ) 26、在JSP页面中声明以“<%!”或者“<%”开头,以“%>”结尾。( √ ) 27、如果想在每个页面都使用某些声明,最好把它们写成一个单独的文件,然后用<%@ include%>指令或 28、include动作用于在当前JSP页面中加载需要插入的文件代码,即为页面插入一个静态文件。( × ) 29、include指令在页面请求期间被激活,而include动作在页面转换期间被激活。( × ) 30、如果能够找到id相同的Bean实例, 31、在 是可选的。( √ ) 32、在 33、 34、request内置对象代表了客户端的请求信息,主要用于接收客户端通过HTTP协议传送给服务器端的数据。在客户端的请求中如果有参数,则该对象就有一个参数列表。( √ ) 35、当服务器向客户端传送数据时,将把数据信息封装到response对象;当请求完成后response对象就会被自动销毁。( √ ) 36、当用户在应用程序的Web页之间跳转时,存储在session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。( √ ) 37、对于一个容器而言,在同一个服务器中的JSP文件中共享一个application对象。( √ ) 38、所有的JSP文件都要事先转换为一个Servlet才能运行。Servlet是JSP的早期版本。( √ ) 39、对于每个请求,Servlet引擎都会调用service()方法,service()方法会根据HTTP请求类型,调用相应的doGet()或doPost()等方法。service()方法可以被调用多次。( √ ) 40、Servlet每次修改后需要编译后才能运行,另外,还必须重启Web服务器。( × ) 三、填空题(请将答案填写在下面各小题的下划线上) 1、JSP的脚本元素包含以下四个部分:____隐式注释___、声明、脚本段、___表达式____。 2、已知文件的路径为c:/myjsp/inc,文件的路径为c:/myjsp。若使用response的重定向方法由跳转到时中,则正确的写法为_direct(“../”)__。 3、当getParameter()方法的参数部分指定的输入控件不存在时,该方法的返回值为_null__。 4、列表框的name属性值为"city",并且允许多选,若要一次读取所有的选中项并存放于数组str中,则对应的Java语句为__String[] str=ameterValues(“city”)___。 5、给定一个JSP程序源代码如下: 在中加入__<%=ameter(“location”)%>___代码片断可以输出参数location的值。 6、用request对象的___getCookies()__方法读取Cookie。 7、用response对象的__addCookie()___方法可以将Cookie对象写入客户端。 8、要删除某一个客户端的Cookie,必须使用setMaxAge()方法 ,并将Cookie的存在期限设为__0____。 9、在Tomcat中,所有编译好的JavaBean都需要放在某个应用目录下的__WEB-INF/classes_ 目录之下。 10、如果要使用JavaBean设计一个网站计数器,那么该bean的scope应当设为___application__。 11、在Servlet中有两种异常处理机制:___声明试异常处理_和__程序试异常处理__。 12、对Web应用来说,__过滤器__就是驻留在服务器端、在数据源和目的数据间、对Web请求和Web响应的头属性(Header)和内容体(Body)进行操作的一种特殊的Web组件。 13、过滤器对象使用__FilterChain_对象调用过滤器链中的下一个过滤器或者目标组件。 14、在一个Filter中,处理filter业务的方法是_doFilter()___方法。 15、假定在web应用中,请求参数productID包含产品的标识符,能够计算productID值的EL表达式是_${tID} ___。 16、 17、 18、若要在JSP中正确作用标签 uri="/WEB-INF/" prefix="___x__" %>。 19、JSP的两种体系结构是__JSP Model 1___和____JSP Model 2_____。 20、在HTML中加入CSS的方法主要有___嵌入式样式表___、____内联式样式表__和__外联式样式表___。 21、表单一般由_表单标签____、____表单域____和___表单按钮__组成。 22、JSP的指令描述__文件__转换成JSP报务器所能执行的Java代码时所使用的控制信息,用于指定整个JSP页面的相关信息,并设置JSP页面的相关属性。 23、JSP程序中的注释有_隐藏注释__、__HTML注释___和__JAVA语言__注释。 24、JSP表达式常用在__向页面输出内容___、生成动态链接地址和动态指定Form表单处理 页面。 25、request内置对象代表了___客户端__的请求信息,主要用于获取通过HTTP传送给 服务器端__的数据。 26、__pageContext___对象提供了对JSP页面内使用到的所有对象及名字空间的访问。 27、__application_对象保存Java Web应用程序中公有的数据。 28、__JDBC__是一种用于执行SQL语句的Java API。 29、JavaBean的作用域中使用范围最大的是_application____。 30、Servlet是运行在Web服务器端的__Java__程序。 四、程序填空题(请将答案按注释要求填写在带下划线的空行上) 1、以下是静态包含文件、动态包含文件、超级链接的示例,请按要求在注释下方的下划线上填写程序。 <%@ page contentType="text/html; charset=gb2312" language="java"%> ___<%@includefile=""%>____ "设置一个转到文件的超级链接 --> ___goto two____ ___ __ ___ 2、以下是在网页中输入用户名然后重定向到页面,显示输入的用户名的示例,请按要求在注释下方的下划线上填写程序。。 <%@ page contentType="text/html; charset=gb2312"%> __ <% //获取表单提交的用户名 String name = __ameter(“name”);_____ //若用户名存在,则重定向到,并带上参数"sendname"(其值为获取到的用户名) if (___name!=null___) { __uestDispatcher("").forward(request, response);_____ } %> 3、 (1)编写统计页面访问次数的计数器,请按要求在注释下方的下划线上填写程序。 package com; // (import部分略) public class ServletContextServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //获得ServletContext对象context ServletContext context = _vletContext();__ Integer count = null; //使用同步代码块的技术从环境对象中获得用于计数的参数counter的值进行计数 synchronized( this ){ count = __(Integer)ribute(“count”);___ if (null == count){ count = ___1;____ } else { count = __count+1;____ } //将count的值作为counter参数的值放入context中 ___ribtue(“counter”,count);_____ } //(以下用于显示访问次数的代码略) } } (2)在文件中配置该Servlet,其中,Servlet的名称是“ServletContext”、请求路径是“/counter”,请按要求在注释下方的下划线上填写程序。 ...... ...... 4、有一个JSP页面和两个Servlet文件,主要功能是求一个实数的平方值。 在页面上用户可以在其表单中输入一个实数,并提交给名为Verify()的Servlet对象。如果用户的输入不符合要求或者输入的实数大于6000或者小于-6000,那么就重新将用户请求定向到页面。如果用户的输入符合要求Verify就将用户对页面的请求转发到名字为ShowMessage()的Servlet对象,该Servlet文件计算实数的平方。 (1)数据输入页面关键代码如下: (2)输入数据判断的Servlet类关键代码如下: //package servlet; //……(import语句略)…… public class Verify extends HttpServlet { public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{ String number=request. __getParameter(“number”)_____; try{ //作用是把字符串转换为Double double n=Double. ___parseDouble(number)____; if(n>6000||n<-6000) //重定向到 __direct("");________; else{ RequestDispatcher dispatcher= request. __getRequestDispatcher("/")__________; dispatcher. __forward(request,response);______; //转发到另一servlet文件 } } catch(NumberFormatException e){ __direct("");______; //重定向到 } } //……(其他语句略)……; } } 求平方运算的Servlet类关键代码如下: package servlet; //……(其他语句略)……; (3)Servlet的配置文件()部分如下: 5、在MySQL数据库管理系统中创建数据库student和表sinfo,其中表sinfo结构如下: 现利用PreparedStatement对象查询info表信息,JSP程序关键代码编写如下: <% //注册MySQL的JDBC驱动程序(名称为“”) __e(“”);____; /*数据库的URL,包括连接数据库所使用的编码格式。其中,3306为端口号,student为数据库名,url后面加的?useUnicode=true&characterEncoding=gbk是为了处理向数据库中添加数据时出现乱码的问题。*/ String url=__”jdbc:mysql://localhost/student?useUnicode=true&characterEncoding=gbk_______; String user="sa"; String password="root"; //获得数据库的连接对象 Connection conn=_______nection(url,user,password);______; //给出查询年龄在多少岁至多少岁之间的学生的SQL查询语句 String sql=____select * from student where SAge>=? and SAge<=?;_____; //获得查询用的PreparedStatement对象 PreparedStatement stmt=___eStatement(sql);____; //将查询年龄设置在18至20岁之间 (1,18); __(2,20);___________________; //获得结果集 ResultSet rs=__null;____________; while(__()____){ %> //在页面输出查询结果 <%}%> <% (); (); _conn__.close(); %>
标签的属性,表示跨越的列数,例如“colspan=4”表示这一列的宽度为4个列的宽度。( √ )
学号 姓名 性别 年龄 体重 <%= ing("studentNumber")%> <%= ing("studentName")%> <%= ing("studentSex")%> <%= ing("studentAge")%> <%=___ing("studentWeight")________________%>