当前位置:文档之家› Java-Web-开发技术试题

Java-Web-开发技术试题

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

2.(单选题)如果需要在JSP页面中引入Web根目录下名为util文件夹中的checklogin.jsp 文件时,以下代码正确的是(B)A.<% include file=”util/checklogin.jsp” %>B.<% @ include file=”util/checklogin.jsp”%>C.<% ! Include file=”util/checklogin.jsp”%>D.<include file=”util/checklogin.jsp”>问题解析:JSP指令元素的语法是:<%@ 指令名属性=”属性值”%>3.(判断题)对于一个标准Servlet,doPost()或doGet()方法中的HttpServletResponse 对象的sendRedirect()方法用于将一个HTTP请求转发到另一个URL。

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

(A)A.正确B.错误问题解析:forEach标签可以在JSP页面实现遍历数组、集合的操作,以及基本的循环功能7.(判断题)Servlet的生命周期包括四个阶段,这四个阶段的先后顺序是:初始化、实例化、提供服务、销毁。

(B)A.正确B.错误问题解析:Servlet的生命周期是:实例化(调用构造函数)、初始化(调用init方法)、服务(调用service方法)、销毁(调用destroy方法)8.(单选题)在web.xml配置文件中,能够正确设置欢迎页面的选项是(D)A.<web-app><welcome-</wekcome-file></web-app>B.<welcome->Index.jsp</welcome->C.<welcome-file><welcome-</welcome-file></welcome-file>D.<welcome-><welcome-</welcome-file></welcome->问题解析:配置欢迎页的语法是,在web.xml文件的<web-app>节点中添加<welcome-><welcome-</welcome-file><welcome-</welcome-file></welcome->9.(判断题)在Java中,JDBC驱动程序主要有四种,较为常用的两种是JDBC-ODBC桥连和纯Java驱动程序。

在个人开发与测试总可以使用JDBC-ODBC桥连方式,而在生产型开发中则推荐使用纯Java驱动程序。

(A)A.正确B.错误问题解析:桥连接需要通过微软提供的ODBC数据源,不如纯Java驱动方式稳定10.(判断题)当应用程序为B/c结构时,程序完全凡在应用服务器上,并通过应用服务器和数据库服务器进行通信。

在客户机上一般无需安装任何与当前应用有关的文件,系统界面是通过浏览器来展现的。

(A)A.正确B.错误问题解析:B/S架构的基本特征就是程序集中部署在服务器上,客户端只需通过浏览器即可使用11.(判断题)在使用JSP技术开发的B/S结构应用程序中,浏览器端与应用服务器端采用“响应/处理”模式进行交互。

(B)A.正确B.错误问题解析:B/S架构的交互模式是“请求/响应”12.(多选题)在JSP页面中,JSP小脚本如下所示,要取出session中的值,下划线处的代码可以是(AC)<%ArrayList list = new ArrayList();session.setAttribute(“list”,list);___________________________%>A.Object o = session.getAttribute(“list”);B.Object o = (ArrayList)session.getParameter(“list”);C.ArrayList list2 = (ArrayList)session.getAttribute(“list”);D.ArrayList list2 = (ArrayList)session.getParameter(“list”);问题解析:从作用域中取值使用getAttribute方法,且此方法的返回值是Object,若干具体类型接收返回值需进行强制类型转换13.(单选题)阅读下面JSP页面中的Java脚本代码片段,当有一个用户访问该页面后,下一个用户访问该页面时,页面的显示的结果是(B)<%int x=2;%><%!int x=5;%>x=<%=++%>A.X=2B.X=3C.X=6D.X=7问题解析:JSP本质上是一个Servlet类,<%! %>声明的是这个类的成员,在本题中就死一个属性,而<% %>中声明的是service方法中的局部变量,按照变量就近原则,表达式输出使用的是局部变量x,而局部变量每次调用都会重新初始化为214.(单选题)如下JSP代码,以下说法正确的是(D)<html><%String comName = “北大青鸟”;session.setAttribute(“company”,comName);String getCompany = session.getAttribute(“company”);out.println(getCompany);%></html>A.运行正确,页面输出companyB.运行正确,页面输出北大青鸟C.运行错误,session.setAttribute(“company”,comName);有误D.运行错误,String getCompany = session.getAttribute(“company”);有误问题解析:getAttribute方法的返回值是Object,若用String类型接收返回值需进行强制类型转换或调用toString方法15.(多选题)在Java中,以下关于得到ResultSet对象、PreparedStatement对象、Statement 对象的说法,正确的是(AC)A.可以使用Statement对象的executeQuery方法返回ResultSet对象B.可以使用Connection对象的createStatement方法获得PreparedStatement对象C.可以使用Connection对象的createStatement方法获得Statement对象D.可以使用Connection对象的executeQuery方法返回ResultSet对象问题解析:通过Connection对象的createStatement方法返回Statement对象,或者通过PreparedStatement方法返回PreparedStatement对象;Statement对象的executeQuery方法执行查询语句并返回结果集ResultSet16.(单选题)在JSP页面中进行访问控制时,一般会使用JSP的(D)内置对象实现对用户的会话跟踪。

A.requestB.pageC.applicationD.session问题解析:JSP的session隐式对象被用来访问当前用户的会话信息17.(多选题)在Java语言中,已知con为已经建立的数据库连接对象,则下列(AD)是正确的JDBC代码片段A.PreparedStatement pstmt = con.prepareStatement(“insert into EMP (EMPNO,ENAME) values (?,?)”);pstmt.setInt(1,7);pstmt.setString(2,”Admin”);B.PreparedStatement pstmt = con.prepareStatement(“insert into EMP (EMPNO,ENAME) values (?,?)”);pstmt.setInt(1,”7”);pstmt.setString(2,”Admin”);C.Statement stmt = con.createStatement(“insert into EMP(EMPNO,ENAME) values (7,’Admin’)”);D.PreparedStatement stmt1 = con.prepareStatement(“insert into EMP(EMPNO,ENAME) values (7,’Admin’)”);问题解析:语句容器Statement在创建时不需提供SQL语句,在调用执行方法时给出要执行的SQL语句;PreparedStatement需要在创建时就提供SQL语句进行预编译,所以执行小懒虫更高。

相关主题