JavaWeb开发技术试题_第1页
JavaWeb开发技术试题_第2页
JavaWeb开发技术试题_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JavaWeb开发技术试题(单选题)使用JDBC访问数据库时,下列关于JDBC的说法正确的是(B)Connection接口负责执行SQL语句可以使用Class.forName()方法把JDBC驱动类装载入Java虚拟机中Statement接口由Connection产生负责保存返回的查询结果DriverManager类负责连接数据库并传送数据问题解析:JDBCAPI的分工情况是:Class的forName方法加载JDBC驱动;DriverManager负责创建Connection连接对象;通过Connection对象创建语句容器Statement对象;通过Statement对象执行SQL语句,如

2、果执行的是查询语句,通过ResultSet对象封装查询结果。A. (单选题)如果需要在JSP页面中引入Web根目录下名为util文件夹中的checklogin.jsp文件时,以下代码正确的是(B)<%includefile="util/checklogin.jsp"%><%includefile="util/checklogin.jsp"%><%!Includefile="util/checklogin.jsp"%><includefile="util/checklogin.jsp&

3、quot;>问题解析:JSP指令元素的语法是:<%指令名属性=”属性值”>(判断题)对于一个标准Servlet,doPost()或doGet()方法中的HttpServletResponse对象的sendRedirect()方法用于将一个HTTP请求转发到另一个URL。(B)正确错误问题解析:HttpServletResponse的sendRedirect方法用于重定向(单选题)在使用JSTL标签的JSP应用中,如果想要为JSP页面中声明的一个名字为name的变量赋值,应该使用以下(B)标签<C:if><C:set><C:out><C

4、:forEach>问题解析:if标签用于逻辑判断;set标签用于赋值;out标签用于输出变量值;forEach标签用于循环迭代(单选题)下列选项中的方法,在Servlet生命周期的初始化阶段被调用的是(D)Service()doGet()doPost()Init()问题解析:Servlet的生命周期是:实例化(调用构造函数)、初始化(调用init方法)、服务(调用service方法)、销毁(调用destroy方法)(判断题)对于JSTL标签中的迭代标签,<c:forEach>标签可以用来遍历一个数组中的所有元素。(A)正确错误问题解析:forEach标签可以在JSP页面实现遍

5、历数组、集合的操作,以及基本的循环功能(判断题)Servlet的生命周期包括四个阶段,这四个阶段的先后顺序是:初始化、实例化、提供服务、销毁。(B)正确错误问题解析:Servlet的生命周期是:实例化(调用构造函数)、初始化(调用init方法)、服务(调用service方法)、销毁(调用destroy方法)(单选题)在web.xml配置文件中,能够正确设置欢迎页面的选项是(D)<web-app><welcome-file>index.jsp</wekcome-file>B. </web-app><welcome-file-list>I

6、ndex.jspC. </welcome-file-list><welcome-file><welcome-file>index.jsp</welcome-file>D. </welcome-file><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list>问题解析:配置欢迎页的语法是,在web.xml文件的<web-app>节点中添加<welcome-file-list&

7、gt;<welcome-file>index.html</welcome-file>1. <welcome-file>index.jsp</welcome-file></welcome-file-list>(判断题)在Java中,JDBC驱动程序主要有四种,较为常用的两种是JDBC-ODBC桥连和纯Java驱动程序。在个人开发与测试总可以使用JDBC-ODBC桥连方式,而在生产型开发中则推荐使用纯Java驱动程序。(A)正确错误问题解析:桥连接需要通过微软提供的ODBC数据源,不如纯Java驱动方式稳定(判断题)当应用程序为B/c结构

8、时,程序完全凡在应用服务器上,并通过应用服务器和数据库服务器进行通信。在客户机上一般无需安装任何与当前应用有关的文件,系统界面是通过浏览器来展现的。(A)正确错误问题解析:B/S架构的基本特征就是程序集中部署在服务器上,客户端只需通过浏览器即可使用(判断题)在使用JSP技术开发的B/S结构应用程序中,浏览器端与应用服务器端采用"响应/处理"模式进行交互。(B)正确错误问题解析:B/S架构的交互模式是“请求/响应”(多选题)在JSP页面中,JSP小脚本如下所示,要取出session中的值,下划线处的代码可以是(AC)<%ArrayListlist=newArrayLis

9、t();session.setAttribute(list",list);%>Objecto=session.getAttribute(list");Objecto=(ArrayList)session.getParameter(list");ArrayListlist2=(ArrayList)session.getAttribute(list");ArrayListlist2=(ArrayList)session.getParameter(list");问题解析:从作用域中取值使用getAttribute方法,且此方法的返回值是Obje

10、ct,若干具体类型接收返回值需进行强制类型转换(单选题)阅读下面JSP页面中的Java脚本代码片段,当有一个用户访问该页面后,下一个用户访问该页面时,页面的显示的结果是(B)<%intx=2;%><%!intx=5;%>x=<%=+%>X=2X=3X=6X=7问题解析:JSP本质上是一个Servlet类,<%!%>声明的是这个类的成员,在本题中就死一个属性,而<%>中声明的是service方法中的局部变量,按照变量就近原则,表达式输出使用的是局部变量x,而局部变量每次调用都会重新初始化为2(单选题)如下JSP代码,以下说法正确的是(D

11、)<html><%StringcomName=北大青鸟”;session.setAttribute(company",comName);StringgetCompany=session.getAttribute(company");out.println(getCompany);%></html>运行正确,页面输出company运行正确,页面输出北大青鸟运行错误,session.setAttribute(Company",comName);有误运行错误,StringgetCompany=session.getAttribute(

12、Company");有误问题解析:getAttribute方法的返回值是Object,若用String类型接收返回值需进行强制类型转换或调用toString方法(多选题)在Java中,以下关于得到ResultSet对象、PreparedStatement对象、Statement对象的说法,正确的是(AC)可以使用Statement对象的executeQuery方法返回ResultSet对象可以使用Connection对象的createStatement方法获得PreparedStatement对象可以使用Connection对象的createStatement方法获得Statemen

13、t对象可以使用Connection对象的executeQuery方法返回ResultSet对象问题解析:通过Connection对象的createStatement方法返回Statement对象,或者通过PreparedStatement方法返回PreparedStatement对象;Statement对象的executeQuery方法执行查询语句并返回结果集ResultSet(单选题)在JSP页面中进行访问控制时,一般会使用JSP的(D)内置对象实现对用户的会话跟踪。requestpageapplicationsession问题解析:JSP的session隐式对象被用来访问当前用户的会话信息

14、(多选题)在Java语言中,已知con为已经建立的数据库连接对象,则下列(AD)是正确的JDBC代码片段PreparedStatementpstmt=con.prepareStatement(insertintoEMP(EMPNO,ENAME)values(?,?)”);pstmt.setInt(1,7);pstmt.setString(2,"Admin");PreparedStatementpstmt=con.prepareStatement(insertintoEMP(EMPNO,ENAME)values(?,?)”);pstmt.setInt(1,"7&qu

15、ot;);pstmt.setString(2,"Admin");Statementstmt=con.createStatement(insertintoEMP(EMPNO,ENAME)values(7,'Admin')");PreparedStatementstmt1=con.prepareStatement(insertintoEMP(EMPNO,ENAME)values(7,'Admin')");问题解析:语句容器Statement在创建时不需提供SQL语句,在调用执行方法时给出要执行的SQL语句;PreparedSt

16、atement需要在创建时就提供SQL语句进行预编译,所以执行小懒虫更高。SQL语句中用到的数据,可以在编写SQL语句时直接给出,拼接在语句中;对于PreparedStatement还可以在语句中使用?占位符,并在执行之前灵活地进行赋值,但要注意方法和数据类型的匹配,如:要为一个int类型的参数赋值需调用setInt(intcount,intintValue)(多选题)在使用JDBC访问数据库时,下面选项关于Statement和PreparedStatement的描述错误的是(BD)PreparedStatement接口继承自Statement接口,因此PreparedStatement实例能

17、够强制转换成Statement实例来使用PreparedStatement实例使用完毕弧,不再需要关闭数据库连接Statement实例和PreparedStatement实例,均能都数据库进行增删改查操作Statement实例和PreparedStatement实例,均能够通过(?")作为占位符,用于后面进行参数的设定问题解析:Statement及其子接口PreparedStatement均可以用来执行任何SQL语句,包括DML和DDL。其中PreparedStatement可以实现SQL语句的预编译,从而提高语句执行效率。PreparedStatement还可以通过?占位符实现对语

18、句更灵活和更安全的赋值。使用Statement及其子接口执行完语句都应及时关闭连接,这是一个良好的编程习惯。A. (单选题)在JSP中,下列(A)语句可以获取页面请求中一个文本框的输入(文本框的名称为title)request.getPatameter(title");request.getAttribute(title");request.getAttributes(title");request.getPatameters(title");问题解析:请求对象的getParameter方法取得一个请求参数对应的值,以字符串的形式返回,如果参数不存在则返

19、回null;getAttribute方法取出的是请求作用域中存储的对象(单选题)在使用JSP开发的Web应用程序中,home目录与images目录为同级目录,现在要在home目录下的index.jsp中访问images目录下的图片1.jpg,以下代码片段正确的是(A)<imgsrc=.':/images/1.jpg"><imgsrc=/images/1.jpg"><imgsrc=/images/1.jpg"><imgsrc=1.jpg">问题解析:index.jsp和1.jpg不在同一目录下,不能直

20、接使用相对路径"1.jpg”,排除D选项;要在index.jsp访问1.jpg,必需从网站根路径开始查找,分析A选项”./images/1.jpg”,先通过.从index.jsp所在的home路径向上一级,即来到根路径,再查找images路径下的1.jpg,符合要求,A选项正确;B选项/images/1.jpg",路径开始的相当于http:/,显然是错误的;C选项/images/1.jpg",不是HTML中有效的路径用法,故也是错误的(单选题)当访问JSP页面显示中文乱码,以下选项中可以实现中文乱码处理的是(D)<%pagelanguage=java&quo

21、t;%><%pageimport=java.util.*"%><%pagecharset=GBK"%><%pagecontentType=text/html;charset=GBK"%>问题解析:page指令的language属性用来指定页面使用的脚本语言。Import用来导入Java类库,均与中文乱码问题无关;C选项语法粗无;contentType属性可以指定当前页面的字符集,可以保证当前页面上的中文正确显示,故D选项正确,同样的功能还可以使用pageEncoding属性实现,即<%pagepageEncoding

22、=GBK"%>(多选题)在JSP中,要在page指令中设置使用的脚本语言是Java,且导入了java.io和java.util包,下列语句中正确的是(AD)<%pagelanguage=java"import=java.io.*,java.util.*"%><%pagelanguage=java"import=java.io,java.util"%><%pagelanguage=java"import=java.io"import=java.util"%><%page

23、language=java"%><%pageimport=java.io.*,java.util.*"%>问题解析:page指令的language属性用来指定页面使用的脚本语言,import用来导入Java类库。import的用法有两种,可以在一个page指令中导入多个包或类,用”,"隔开;也可以写多条page指令,分别导入,不能在一个page指令中写多个import属性(单选题)在JSP中有下面代码,执行结果正确的是(C)<%intx;for(inti=0;i<5;i+)(x=+i;%><%=x+%><br&

24、gt;<%>123451234135246问题解析:循环开始时,变量i值为0,+i后,i变成1,并未x赋值为1,然后输出x+,页面输出1,x变成2;i+成2,进入下一轮循环,+i后,i变成3,并为x赋值为3,然后输出x+,页面输出3,x变成4;i+成4,进入下一轮循环,+i后,i变成5,并为x赋值为5,然后输出x+,页面输出5,x变成6;i+成6,循环种植。最终输出的是135(单选题)JSP文件在第一次请求时比较慢,而之后对同样的JSP文件的请求会非常快,能正确解释此现象的选项是(D)JSP文件第一次请求要经过翻译阶段、编译阶段、执行阶段,而之后对同样的JSP文件请求却不经过翻译阶

25、段JSP文件第一次请求要经过翻译阶段、编译阶段、执行阶段,而之后对同样的JSP文件请求却不经过编译阶段JSP文件第一次请求要经过翻译阶段、编译阶段、执行阶段,而之后对同样的JSP文件请求却不经过执行阶段JSP文件第一次请求要经过翻译阶段、编译阶段、执行阶段,而之后对同样的JSP文件请求却不经过翻译阶段和编译阶段问题解析:一个JSP页面被首次访问时,会经历3个阶段:翻译或转译,从JSP文件转换成Java源文件;编译,把Java源代码编译成字节码,生成class文件;运行,执行并产生输出。之后再访问同一个JSP页面,因为已经有了运行所需的字节码文件,可以直接运行,而不必再次执行前两个步骤,可以提高

26、访问效率(单选题)当浏览器第三次访问以下JSP网页时的输出结果是(C)<%!inta=0;%><%intb=0;a+;b+;%>a=<%=a%>b=<%=b%>a=1b=1a=2b=2a=3b=1a=2b=1问题解析:JSP本质上是一个Servlet类,<%!%>声明的是这个类的成员,在本题中就是一个属性,而<%>中声明的是service方法中的的局部变量;且JSP默认采用“一次加载,多次调用”的运行方式,所以每次访问调用的实际上是同一个对象,它的属性会保留上次调用所赋的值,而局部变量每次调用都会重新初始化。按照这个思路,

27、本页面在三次访问中,属性a的值会累加;而局部变量b则每次都从0开始(单选题)JSP文件test.jsp代码如下所示,则试图运行时,将发生(D)<html><%java.lang.StirngBufferbuffer=newjava.lang.StringBuffer();buffer.append(ABC");%>bufferis<%=buffer%></html>翻译期错误编译Java源码时发生错误执行编译后的字节码时发生错误运行后,浏览器上显示:bufferisABC问题解析:JSP脚本元素中的表达式相当于调用out内置对象的print方法,在页面上产生输出。这里相当于调用buffer对象的toString方法取得其中存储的字符串,再通过表达式输出在页面上(单选题)在JSP应用中,下列选项不是JSP内置对象的是(B)requestcontextapplicationout问题解析:JSP有9个内置对象,分别是request>response>out;pageContext、session、application;page、config、exception在JSP中需要将1.jsp的请求数据通过2.jsp转发给3.jsp,应该在2.js

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论