当前位置:首页 > 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.
问题解析:JSP指令元素的语法是:<%@ 指令名 属性=”属性值”%>
3.(判断题)对于一个标准Servlet,doPost()或doGet()方法中的HttpServletResponse对象的sendRedirect()方法用于将一个HTTP请求转发到另一个URL。(B) A.正确 B.错误
问题解析:HttpServletResponse的sendRedirect方法用于重定向
4.(单选题)在使用JSTL标签的JSP应用中,如果想要为JSP页面中声明的一个名字为name的变量赋值,应该使用以下(B)标签 A.
问题解析:if标签用于逻辑判断;set标签用于赋值;out标签用于输出变量值;forEach标签用于循环迭代
5.(单选题)下列选项中的方法,在Servlet生命周期的初始化阶段被调用的是(D) A.Service() B.doGet() C.doPost() D.Init()
问题解析:Servlet的生命周期是:实例化(调用构造函数)、初始化(调用init方法)、服务(调用service方法)、销毁(调用destroy方法)
6.(判断题)对于JSTL标签中的迭代标签,
B.错误
问题解析:forEach标签可以在JSP页面实现遍历数组、集合的操作,以及基本的循环功能
7.(判断题)Servlet的生命周期包括四个阶段,这四个阶段的先后顺序是:初始化、实例化、提供服务、销毁。(B) A.正确 B.错误
问题解析:Servlet的生命周期是:实例化(调用构造函数)、初始化(调用init方法)、服务(调用service方法)、销毁(调用destroy方法)
8.(单选题)在web.xml配置文件中,能够正确设置欢迎页面的选项是(D) A.
B.
Index.jsp
C.
问题解析:配置欢迎页的语法是,在web.xml文件的
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=2 B.X=3 C.X=6 D.X=7
问题解析:JSP本质上是一个Servlet类,<%! %>声明的是这个类的成员,在本题中就死一个属性,而<% %>中声明的是service方法中的局部变量,按照变量就近原则,表达式输出使用的是局部变量x,而局部变量每次调用都会重新初始化为2
14.(单选题)如下JSP代码,以下说法正确的是(D) <%
String comName = “北大青鸟”;
session.setAttribute(“company”,comName);
String getCompany = session.getAttribute(“company”); out.println(getCompany); %>
A.运行正确,页面输出company B.运行正确,页面输出北大青鸟
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方法执行查询语句并返回结果集ResultSet
16.(单选题)在JSP页面中进行访问控制时,一般会使用JSP的(D)内置对象实现对用户的会话跟踪。 A.request B.page
C.application D.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语句进行预编译,所以执行小懒虫更高。SQL语句中用到的数据,可以在编写SQL语句时直接给出,拼接在语句中;对于PreparedStatement还可以在语句中使用?占位符,并在执行之前灵活地进行赋值,但要注意方法和数据类型的匹配,如:要为一个int类型的参数赋值需调用setInt(int count,int intValue)
共分享92篇相关文档