当前位置: 移动互联网学院 > Java培训 > JAVA面试题 > java面试题选择题 经典推荐
java面试题选择题 经典推荐 时间:2017-12-06     来源:java面试题库

现代社会想要找到一份理想的工作,面试环节的表现起到了至关重要的作用,因此特意把一些经典面试题收集汇总之后,发了此篇面试题的文章。
125.从以下哪一个选项中可以获得Servlet的初始化参数。

A.Servlet

B.ServletContext

C.ServletConfig

D.GenericServlet

解答:C

java面试题选择题

servlet的生命周期的方法中有一个init方法,其中一个重载的init方法的参数为ServletConfig可以获取初始化参数。

126.哪一个对象可以用于获得浏览器发送的请求。

A.HttpServletRequest

B.HttpServletResponse

C.HttpServlet

D.Http

解答:A

HttpServletRequest中有一些方法可以获取浏览器发送的请求信息。

127.运行jsp需要安装_______Web服务器。

A.Apache

B.tomcat

C.WebLogic

D.IIS

解答:BC

Apache是PHP程序运行的服务器,IIS是.net程序运行的服务器。

128.如何取得数据源。

A.通过Http

B.通过ftp

C.JNDI

D.通过Connection对象

解答:C

在服务器上配置好数据以后,通过JNDI技术获取到数据源。

JNDI:Java Naming and Directory Interface一种标准的Java命名系统接口

129.下列哪一个接口定义了用于查找、创建和删除EJB实例

A.Home

B.Remote

C.Local

D.Message

解答:A

remote接口定义了业务方法,用于EJB客户端调用业务方法。 home接口是EJB工厂用于创建和移除查找EJB实例

130.在服务器的网络编程中,解决会话跟踪的方法有:

A. 使用Cookie。

B. 使用URL重写。

C. 使用隐藏的表单域。

D. 以上方法都不能单独使用。

解答:ABC

URL重写就是首先获得一个进入的URL请求然后把它重新写成网站可以处理的另一个URL的过程

隐藏域是在页面级保存信息。与其他用户标准控件的区别是,隐藏域不被呈现在页面中。当页面提交的时候,隐藏域中的值将被一同发送给服务端。

Cookie是以文本存储于计算机中,使用name-value匹配。一般用户存储标识用户信息

131.与HttpSessionListener接口有关的方法是。

A.sessionInitialized()

B.sessionCreated()

C.sessionFinialized()

D.sessionDestroyed()

解答:BD

132.关于JSP生命周期的叙述,下列哪些为真?

A.JSP会先解释成Servlet源文件,然后编译成Servlet类文件

B.每当用户端运行JSP时,jspInit()方法都会运行一次

C.每当用户端运行JSP时,_jspService()方法都会运行一次

D.每当用户端运行JSP时,jspDestroy()方法都会运行一次

解答:AC

单引号,双引号都可以使用在属性上。

134.下列哪个为JSP的隐含对象。

A.env

B.page

C.jspinfo

D.context

解答:B

JSP有九个隐士对象

request对象:保存了很多客户端请求的信息。

response对象:生成服务器端响应,然后将响应结果发送到客户端

out对象:表示输出流,此输出流将作为请求发送到客户端

session对象:我们写个对象放在这个session对象中,这个对象就在我们的会话中都存在。

application对象:我们写个对象放在这个application对象中,这个对象就在整个应用程序中都存在

pageContext对象相当于当前页面的容器,可以访问当前页面的所有对象。

paget对象:一般我们使用Page指令来替代使用这个对象

exception对象:用来处理异常的

config对象:一样的我们在页面中是使用很少的,一般会在Servlet中使用这个

135.下面的那一个不属于MVC模式中的对象?

A. Model

B. View

C. Collection

D. Controller

解答:C

MVC是三个单词的缩写,分别为: 模型(Model),视图(View)和控制Controller)。 MVC模式的目的就是实现Web系统的职能分工。 Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。 View层用于与用户的交互,通常用JSP来实现。 Controller层是Model与View之间沟通的桥梁,

它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。

136.要创建一个EJB,必须要至少编写哪些Java类和接口?

A. 定义远程(或业务)接口

B. 定义本地接口

C. 定义Bean接口

D. 编写Bean的实现

解答:ABC

137.XML 是一种元语言, 可以用它来描述其他语言。

A.正确

B.错误

解答:B

XML(Extensible Markup Language)即可扩展标记语言,它与HTML一样,都是SGML(Standard Generalized Markup Language,标准通用标记语言)。Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。

138.类图用来表示系统中类和类与类之间的关系,它是对系统动态结构的描述。(选择1项)

A.正确

B.不正确

解答:B

类图是对系统静态结构的描述。

139.哪一个不是EL定义的隐式对象?(选择1项)

A cookie

B.pageContext

C.attributes

D initParam

解答:C

1)pageContext:JSP 页的上下文。它可以用于访问 JSP 隐式对象。

2)Param:将请求参数名称映射到单个字符串参数值(通过调用 ServletRequest.getParameter

(String name) 获得)。getParameter (String) 方法返回带有特定名称的参数。表达式 $(param.name) 相当于 request.getParameter (name)。

3)paramValues:将请求参数名称映射到一个数值数组(通过调用 ServletRequest.getParameter (String name) 获得)。它与 param 隐式对象非常类似,但它检索一个字符串数组而不是单个值。表达式 ${paramvalues.name) 相当于 request.getParamterValues(name)。

4)header将请求头名称映射到单个字符串头值(通过调用 ServletRequest.getHeader(String name) 获得)。表达式 ${header.name} 相当于 request.getHeader(name)。

5)headerValues将请求头名称映射到一个数值数组(通过调用 ServletRequest.getHeaders(String) 获得)。它与头隐式对象非常类似。表达式 ${headerValues.name} 相当于 request.getHeaderValues(name)。

6)cookie将 cookie 名称映射到单个 cookie 对象。向服务器发出的客户端请求可以获得一个或多个 cookie。表达式 ${cookie.name.value} 返回带有特定名称的第一个 cookie 值。如果请求包含多个同名的 cookie,则应该使用 ${headerValues.name} 表达式。

7)initParam将上下文初始化参数名称映射到单个值(通过调用 ServletContext.getInitparameter(String name) 获得)。

8)pageScope将页面范围的变量名称映射到其值。例如,EL 表达式可以使用 ${pageScope.objectName} 访问一个 JSP 中页面范围的对象,还可以使用 ${pageScope.objectName.attributeName} 访问对象的属性。

9)requestScope将请求范围的变量名称映射到其值。该对象允许访问请求对象的属性。例如,EL 表达式可以使用 ${requestScope.objectName} 访问一个 JSP 请求范围的对象,还可以使用 ${requestScope.objectName.attributeName} 访问对象的属性。

10)sessionScope将会话范围的变量名称映射到其值。该对象允许访问会话对象的属性。例

11)applicationScope将应用程序范围的变量名称映射到其值。该隐式对象允许访问应用程序范围的对象。

141.Struts框架可以支持以下哪种程序开发语言?(选择1项)

A.C

B.C++

C.Java

D.C#

解答:C

142.在Servlet处理请求的方式为。(选择1项)

A、以进程的方式

B、以程序的方式

C、以线程的方式

D、以响应的方式

解答:C

Servlet采用多线程来处理多个请求同时访问,Servlet容器维护了一个线程池来服务请求。

143.javax.Servlet的包中,属于类的是。(选择1项)

A、Servlet

B、GenericServlet

C、ServletRequest

D、ServletContext

解答:B

ServletContext和ServletRequest是该包下的接口。

144.以下说法正确的是。(选择2项)

A.#CDATA标记表示该元素包含的数据将被解析器解释

B.#PCDATA 标记表示该元素包含的数据将不被解析器解释

C.#PCDATA 标记表示该元素包含的数据将被解析器解释

D.#CDATA 标记表示该元素包含的数据将不被解析器解释

解答:AC

在DTD中,指定某个标签中的内容是字符数据时,使用(#PCDATA)。而指定标签中某个属性的类型为字符型时,使用CDATA,都将被解析器解释。

145.Http缺省的请求方法是。(选择1项)

A.PUT

B.GET

C.POST

D.TRACE

解答:B

147.DTD与XML Schema都是XML文档。(选择1项)

A.正确

B.不正确

解答:DTD不是XML文件, schema是XML文档

148.JDBC中,用于表示数据库连接的对象是。(选择1项)

A.Statement

B.Connection

C. DriverManager

D.PreparedStatement

解答:B

Statement和PreparedStatement都是用来发送和执行SQL语句的

DriverManager管理一组驱动程序

149.用于调用存储过程的对象是。(选择1项)

A.ResultSet

B.DriverManager

C.CallableStatemet

D.PreparedStatement

解答:C

ResultSet是结果集对象

DriverManager管理一组驱动程序

PreparedStatement预编译的,用来发送和执行SQL语句的

150.如果没有指定Cookie的时效,那么默认的时效是。(选择1项)

A.一天

B. 永不过期

C.会话级别

D.一分钟

解答:C

这是API的原文:By default, -1 indicating the cookie will persist until browser shutdown.

151.

关于上述DTD定义的描述正确的是。(选择1项)

A.Customer元素能包含子元素,并且能为空

B.Customer元素能包含文本,并且能为空

C.Customer元素不能包含文本,也不能包含子元素

D.Customer元素的所有实例的“称呼”属性必须有值,不能为空

解答:C

EMPTY表示元素不能包含文本,也不能包含子元素

#IMPLIED属性可以没有值

#REQUIRED属性必须有值

152.实现现下列哪一种接口的对象,并不需要在web.xml文件内进行额外的设定,Servlet容器就能够回应该对象加入HTTP会话所发生的事件?(选择1项)

A.ServletContextListener

B.HttpSessionListener

C.HttpSessionAttributeListener

D.HttpSessionBindingListener

解答:D

HttpSessionListener只需要设置到web.xml中就可以监听整个应用中的所有session。HttpSessionBindingListener必须实例化后放入某一个session中,才可以进行监听

154.以下不属于JSP的标准指令的是。(选择1项)

A.Taglib

B.Include

C.Import

D.Page

解答:C

import是page指令的一个属性。

155.对于每一个网站访问用户都要访问的变量,应该将它设为________变量。(选择1项)

A. Session

B. Reques

C. Response

D. Application

解答:D

Application应用程序级变量

156.EJB类库存在于Java的哪个版本中?(选择1项)。

A. J2SE

B. J2EE

C. J2ME

D. J2NE

解答:B

Java分为三个体系

JavaSE(Java2 Platform Standard Edition,java平台标准版),

JavaEE(Java 2 Platform,Enterprise Edition,java平台企业版),

JavaME(Java 2 Platform Micro Edition,java平台微型版)。

EJB属于JavaEE版本

157.察看下列JSP内容

out.print(i*2);

当这个JSP被运行时,其结果是什么?(选择1项)

A.此JSP因为语法错误,无法运行

B.显示出0,2,4

C.显示出0,2,4,6

D.显示出out.print(i*2) out.print(i*2) out.print(i*2)

解答:D

158假设A.jsp内设定一个元素:

下列哪一个为真?(选择1项)

A.bean1的存取范围(scope)默认为application

B.在HTTP会话内可以存取bean1

C.只有在A.jsp内可以存取bean1

D.在A.jsp所属的Web应用程序内均可存取bean1

解答:C

bean1的存取范围(scope)默认为page

(题有一点问题 javabean的规则是要放在一个包中)

159在MVC设计模式中,JavaBean的作用是。(选择1项)

A、Controller

B、Model

C、业务数据的封装

D、View

解答:B

同137题

160在J2EE中属于Web层的组件有(选择1项)

A. HTML

B. EJB

C. Applet

D. JSP

解答:D

161单元测试是在软件开发过程中的哪个阶段完成的? (选择1项)

A. 可行性研究和计划

B. 概要设计

C. 实现

D. 使用和维护

解答:C

162在J2EE的Web应用中,编译后的class文件存放的目录为(选择1项)

A. classes目录

B. images目录

C. jar目录

D. 任意位置

解答:A

163 HttpServlet中,用来处理POST请求的方法是(选择1项)

A. doHead

B. doGet

C. doPost

D. doPut

解答:C

164.DOM中XMLDOMnodelist的length属性的表示是:(选择1项)

A. 该对象中文本字符的长度

B. 该对象中元素节点的数量

C. 该对象中节点的数量

D. 该对象中文档对象的数量

解答:A

length 属性返回注释节点中的文本长度,以字符数计。

165.如何创建Cookie? (选择1项)

A. 使用new Cookie语句

B. 调用response.addCookie方法

C. 使用Cookie的setMaxAge方法

D. setCookie方法

解答:B

166. 关于Web应用程序,下列说法错误的是( )。

A.WEB-INF目录存在于web应用的根目录下

B. WEB-INF目录与classes 目录平行

C. web.xml在WEB-INF目录下

D. Web应用程序可以打包为war文件

解答:B

167有关Servlet的生命周期说法正确的有( )。

A.Servlet的生命周期由Servlet实例控制

B.init()方法在创建完Servlet实例后对其进行初始化,传递的参数为实现ServletContext接口的对象

C.service()方法响应客户端发出的请求

D.destroy()方法释放Servlet实例

解答:C

Servlet 生命周期就是指创建 Servlet 实例后响应客户请求直至销毁的全过程.

Serlvet 生命周期的三个方法:init()–>service()–>destroy(),

Servlet生命周期的各个阶段: 实例化:Servlet 容器创建

Servlet 类的实例对象

初始化:Servlet 容器调用 Servlet 的 init()方法

服务:如果请求 Servlet,则容器调用 service()方法

销毁:销毁实例之前调用 destroy()方法

169.以下( )可用于检索session属性userid的值。

A.session. getAttribute (“userid”);

B.session. setAttribute (“userid”);

C.request. getParameter (“userid”);

D.request. getAttribute (“userid”);

解答:A

172.有关JSP隐式对象,以下( )描述正确。

A.隐式对象是WEB容器加载的一组类的实例,可以直接在JSP页面使用

B.不能通过config对象获取ServletContext对象

C.response对象通过sendRedirect方法实现重定向

D.只有在出错处理页面才有exception对象

解答:ACD

可以通过config对象获取ServletContext对象

174.以下是login.jsp文件的代码片断:

用户名为: ${param.name}

以下( )描述正确。

A.发生运行错误

B.页面会出现一文本框,并且文本框中内容为${param['name']}

C.当用户输入名字并单击“提交”按钮时,在同一页面中的“用户名为:”字样后面会显示用户输入的内容

D.当用户输入名字并单击“提交”按钮时,在同一页面中的“用户名为:”字样后面会显示${param.name}

解答:C

在每个JSP中也可以指定是否该JSP使用EL。在page directive中的isELIgnored属性用来指定是否忽略。格式为:

如果设定为真,那么JSP中的表达式被当成字符串处理。

175.doAfterBody()方法是在( )接口中定义的。

A.Tag

B.IterationTag

C.BodyTag

D.TagSupport

解答:B

176.下面代码片断在浏览器中输出结果为( )。

2+3

A.0

B.5

C.2+3

D.无输出

解答:C

标签主要用来将变量保存到JSP 的会话中或JavaBean 的属性中。的语法格式为: 上述的表达式实现的功能是将 value 的值储存至范围为scope 的 varName 变量之中,还可以将 value 的值储存至 target 对象的属性中.如果题中2+3改成${2+3}那么结果就是5.

177.编写一个Filter,除继承HttpServlet类外还需要( )。

A.继承Filter 类

B.实现Filter 接口

C.继承HttpFilter 类

D.实现HttpFilter接口

解答;B

178.以下哪个Hibernate主键生成策略是实现主键按数值顺序递增的?

A、increment

B、identity

C、sequence

D、native

解答:A

increment生成策略:当Hibernate准备在数据库表中插入一条新记录时,首先从数据库表中获取当前主键字段的大值,然后在大值基础上加1,作为当前持久化对象的标识符属性值。这种策略即increment生成策略,用其生成的标识符属性的类型可以是long、short、int及其封装类的类型

identity生成策略:在MS SQL Server、MySQL和DB2等数据库中可以设置表中某一个字段的数值自动增长,identity生成策略通过这种方式为当前记录获取主键值的同时为持久化对象赋予标识符属性值。

sequence生成策略:在Oracle、DB2和PostgreSQL等数据库中创建一个序列(sequence),然后Hibernate通过该序列为当前记录获取主键值,进而为持久化对象赋予标识符属性值。

native生成策略:由Hibernate根据所使用的数据库支持能力从identity、sequence或者等生成策略中选择一种

179.在jsp中,page指令的()属性用来引入需要的包或类。

A、extends

B、import

C、language

D、contentType

解答:B

page指令属性简要介绍:

language=”java”

声明脚本语言的种类,暂时只能用”java”

extends=”package.class”

标明JSP编译时需要加入的Java Class的全名,但是得慎重的使用它,它会限制JSP的编译能力.

import=”{package.class | package.* }, …”

需要导入的Java包的列表,这些包就作用于程序段,表达式,以及声明。

下面的包在JSP编译时已经导入了,所以你就不需要再指明了:

java.lang.*

javax.servlet.*

javax.servlet.jsp.*

javax.servlet.http.*

session=”true | false”

设定客户是否需要HTTP Session.如果它为true,那么Session是有用的。

如果它有false,那么你就不能使用session对象,以及定义了scope=session的元素。这样的使用会导致错误. 缺省值是true.

buffer=”none | 8kb | sizekb”

buffer的大小被out对象用于处理执行后的JSP对客户浏览器的输出。

缺省值是8kb

autoFlush=”true | false”

设置如果buffer溢出,是否需要强制输出,如果其值被定义为true(缺省值),输出正常,如果它被设置为false,如果这个buffer溢出,就会导致一个意外错误的发生.如果你把buffer设置为none,那么你就不能把autoFlush设置为false.

isThreadSafe=”true | false”

设置Jsp文件是否能多线程使用。缺省值是true,也就是说,JSP能够同时处理多个用户的请求,如果设置为false,一个jsp只能一次处理一个请求

info=”text”

一个文本在执行JSP将会被逐字加入JSP中,你能够使用

Servlet.getServletInfo方法取回。

errorPage=”relativeURL”

设置处理异常事件的JSP文件。

isErrorPage=”true | false”

设置此页是否为出错页,如果被设置为true,你就能使用exception对象.

contentType=”mimeType [ ;charset=characterSet ]” | “text/html;charset=ISO-8859-1″

设置MIME类型 。缺省MIME 类型是: text/html, 缺省字符集为 ISO-8859-1.

180.正则表达式”\d+\.?\d*”在匹配下列字符串时结果是失败的是?

A 12.5

B 1.25

C 以上都成功

D 以上都失败

解答:B

\d+ 表示可以出现1次或是n次数字

\. .? 表示可以“.”可以出现一次,也可以不出现

\d* 表示可以出现0次或是n次数字

X