java面试题,java笔试题50道及答案



1、在Java EE中,Servlet是在服务器端运行,以处理客户端请求而做出的响应的程序,下列选项中属于Servlet生命周期阶段的是( )

A、加载和实例化

B、初始化

C、服务

D、销毁

E、以上全部

答案:E 

2、在Java EE中的MVC设计模式中,( )负责接受客户端的请求数据

A、JavaBean

B、JSP

C、Servlet

D、HTML

答案:C

3、过滤器应实现的接口是( )。

A、HttpServlet          

B、HttpFilter         

C、ServletFilter        

D、Filter

答案:D 

4、开发Java Web应用程序的时候,创建一个Servlet,该Servlet重写了父类的doGet()和doPost()方法,那么其父类可能是( )

A、RequestDispatcher

B、HttpServletResponse

C、HttpServletRequest

D、HttpServlet

答案:D 

5、在Java Web开发中,如果某个数据需要跨多个请求存在,则数据应该存储在( )中

A、session

B、page

C、request

D、Response

答案:A

6、在开发Java Web应用程序的时候,HTTP请求消息使用Get或POET方法以便在WEB上传输数据,下列关于GET和POST 方法描述正确的是( )

A、POST请求的数据在地址栏不可见

B、GET请求提交的数据在理论上没有长度限制

C、POST请求对发送的数据的长度限制在240——255个字符

D、GET请求提交数据更加安全

答案:A 

7、在JSP中有EL表达式${10*10 ne 10},结果是( )

A、100

B、true

C、fasle

D、以上都不对

答案:B 

8、JSTL标签的分类以下说法正确的是( )

A、通用标签与迭代标签        

B、核心标签与迭代标签            

C、核心标签与sql标签        

D、以上都不是

答案:C 

9、在Java Servlet API中,HttpServletRequest接口的( )方法用于返回当前请求相关联的会话,如果没有,返回null

A、getSession() //=gerSession(true)默认为:getSession(true)

B、getSession(true)

C、getSession(false)

D、getSession(null)

答案:C 

10、在Java Web开发中,不同的客户端需要共享数据,则数据应该存储在( )中

A、session

B、application

C、request

D、response

答案:B

11、利用三层结构搭建某网上书店系统,设计用户登陆界面,如果你是设计人员,你将在三层结构的( )中实现

A、模型层

B、表示层

C、数据访问层

D、业务逻辑层

答案:B 

12、在Java EE中,( )接口定义了getSession()方法

A、httpServlet

B、HttpSession

C、HttpServletRequest

D、HttpServletResponse

答案:C 

13、JSP标准标签库(JSTL)提供的主要标签库中,其中( )可用于操作数据库。

A、核心标签库        

B、I18N与格式化标签库    

C、XML标签库        

D、SQL标签库

答案:D 

14、JSP表达式语言可用于在网页上生成动态的内容并代替JSP元素,JSP表达式语言的语法是( )

A、{EL expresion}

B、${EL expresion}

C、@{EL expresion}

D、#{EL expresion}

答案:B 

15、在J2EE的体系结构中,系统的业务和功能代码组成了三层结构中的( )层

A、表示层

B、中间层

C、数据层

D、客户端层

答案:B

16、在JSTL的达代标签<forEach>的属性中,用于指定要遍历的对象集合( )

A、var

B、items            

C、value    

D、varStatus

答案:B 

17、如果不希望JSP网页支持Session,应该( )。

A、调用HttpSession的invalidate()方法

B、<%@ page session= “false”>

C、在jsp页面中写入如下代码HttpSession session=request.getSession(false);

D、调用HttpSession的setMaxInactiveInterval(),将时间设置为0

答案:B 

18、Servlet是一个在服务器上运行、处理请求信息并将其发送到客户端的Java程序()接受服务请求、找到Servlet类、加载Servlet类并创建Servlet对象。

A、客户端

B、IE浏览器

C、Servlet容器

D、Servlet本身

答案:C 

19、MVC设计模式包含模型层、视图层和控制层,在下列组件扮演控制器角色的是( )    

A、Servlet

B、JSP

C、javaBean

D、HTML

答案:A 

20、JSP标准标签库(JSTL)的标签库描述符文件的后缀是( )

A、.tld

B、.jar

C、.properties

D、.xml

答案:A

21、在J2EE中,以下不是JSP隐式对象的是( )

A、pageContext            

B、context            

C、application            

D、out

答案:B 

22、在Java Web应用程序中,给定servlet A的代码片段如下所示:        

    Public void doPost(HttpServletRequest request,HttpServletResponse response)

        throws ServletException,IOException{

        String id=”kingdom”;

        _________________

}    

Servlet B与servlet A同在一个有效的会话范围内,当把请求转发给servlet B后,要

使B能够获得”kingdom”值,下划线处应填入( )

A、request.getSession().setAttribute(“ID”,id);

B、request.getSession().getAttribute(“ID”,id);

C、request.getSession().setParameter(“ID”,id);

D、request.getSession().getParameter(“ID”,id);

答案:A 

23、在Java Web应用程序中,包含两个名为Servlet1和Servlet2的HttpServlet,在web.xml中指定Servlet2的访问路径为”/servlet2″,Servlet1的doGet方法中的代码为:

PrintWriter out=response.getWriter();

out.print(“Servlet1″);

RequestDispatcher dispatcher=request.getRequestDispatcher(“/servlet2″);

dispatcher.forword(request,response);

out.close();

Servlet2的doGet方法中的代码为:

PrintWriter out=response.getWriter();

out.print(“Servlet2″);

out.close();

如果用户在浏览器中访问Servlet1,则浏览器将( )                    

A、显示”Servlet1″

B、显示”Servlet2″

C、显示”Servlet1Servlet2″

D、什么也不显示

答案:B 

24、在Java Web应用程序中,使用数据源与JNDI获得数据库连接时,应把JDBC驱动程序jar文件放在( )下:                                                

A、应用程序的src目录

B、应用程序的/WEB-INF/lib目录

C、Tomcat的根目录

D、Tomcat的common/lib目录

答案:D 

25、在Java Web 应用中,下面关于HttpSession的说法正确的是( )(选择二项)

A、Servlet容器负责创建HttpSession对象

B、每个HttpSession对象都有唯一的ID

C、客户端浏览器负责为HttpSession分配唯一的ID

D、HttpSession 对象的ID值,由程序员进行分配

答案:AB

26、在HTTP协议中,请求消息使用( )方法用于通过Internet发送大量数据,没有长度的限制。    

A、get

B、post

C、put

D、head

答案:B 

27、在Java Web应用程序中,JSP EL 表达式可用于访问( )中存储的数据

A、Web.xml

B、Servlet

C、Applet

D、JavaBean

答案:D 

29、在JSP中,使用<jsp:useBean>动作可以将javaBean嵌入JSP页面,对JavaBean的访问范围不能是( )。    

A、page                

B、request            

C、response            

D、application

答案:C 

30、在Java Web应用程序中,包含jsp1.jsp和jsp2.jsp,以及封装在user包下的名为User的Javabean,user中包含loginName属性以及相应的setter和getter方法,如果用户A在浏览器中访问jsp1.jsp后,用户B在浏览器中访问jsp2.jsp,则用户B的浏览器将( )

Jsp1.jsp代码:

<html>

<jsp:useBean id=”user” class=”user.User” scope=”session”/>

<jsp:setProperty name=”user” property=”loginName” value=”Mart”/>

</html>

Jsp2.jsp代码:

<html>

<jsp:useBean id=”user” class=”user.User” scope=”session”/>

<jsp:getProperty name=”user” property=”loginName”/>

</html>

A、什么也不显示

B、显示”null”

C、显示”Mart”

D、报错,提示无法显示网页

答案:A

31、在servlet的服务方法(如doPost() )中,如何从请求获得”userID”值 ( )

A、String userID = request.getParameter(“userID”);

B、String userID = request.getHeader(“userID”);

C、String userID = request.getRequestHeader(“userID”);

D、String userID = getServletContext().getInitParameter(“userID”);

答案:A 

32、HttpServletResponse的哪些方法用于将一个HTTP请求重定向到另一个URL( )

A、sednURL()

B、redirectURL()

C、redirectHttp()

D、sendRedirect()

E、getRequestDispatcher()

答案:D 

33、以下哪个代码段会得到一个输出流,用于向HttpServletResponse输出字符文本 ( )

A、java.io.PrintWriter out = response.getWriter();

B、ServletOutputStream out = response.getOutputStream(); //输出为字节文本

C、java.io.PrintWriter out = new PrintWriter(response.getReader());

D、Servlet OutputStream out = response.getBinaryStream();

答案:A 

34、servlet开发人员在扩展HttpServlet时如何处理HttpServlet的service()方法( )(选择二项)

A、大多数情况下都应该覆盖service()方法

B、应当从doGet()或doPost()调用service()方法

C、应当从init()调用service()方法

D、应当至少覆盖一个doXXX( )方法(如doPost())

答案:AD 

35、关于会话属性,以下哪些说法是正确( )(选择两项)

A、HttpSession.getAttribute(String)的返回类型是Object

B、HttpSession.getAttribute(String)的返回类型是String

C、在HttpSession上调用setAttribute(“keyA”, “valueB”)时,如果这个会话中对应键keyA已经有了一个值,就会导致抛出一个异常

D、在HttpSession上调用setAttribute(“keyA”, “valueB”)时,如果这个会话中对应键keyA已经有一个值,则会导致这个属性原先的值被String valueB替换

答案:AD

36、给定req是一个HttpServletRequest,哪个代码会在不存在会话的情况下创建一个会话( ) (选择两项)

A、req.getSession()

B、req.getSession(true)

C、req.getSession(false)

D、req.createSession()

E、req.getNewSession()

F、req.createSession(true)

G、req.createSession(false)

答案:AB 

38、给定TheBean类,假设还没有创建TheBean类的实例,以下哪些JSP标准动作语句能创建这个bean的一个新实例,并把它存储在请求作用域 ( )

A、<jsp :useBean name=”myBean” type=”com.example.TheBean”/>

B、<jsp :takeBean name=”myBean” type=”com.example.TheBean”/>

C、<jsp :useBean id=”myBean” class=”com.example.TheBean” scope=”request”/>

D、<jsp :takeBean id=”myBean” class=”com.example.TheBean” scope=”request”/>

答案:C 

39、给定一个Model1体系结构,其中有一个JSP页面处理所有控制器函数,这个JSP控制器要把请求分派给另一个JSP页面 ( )

A、<jsp:forward page=”view.jsp”/>

B、<jsp:forward file=”view.jsp”/>

C、<jsp:dispatch page=”view.jsp”/>

D、<jsp:dispatch file=”view.jsp”/>

答案:A 

40、有关<jsp:useBean>标准动作,以下哪些说法是正确的 ( ) (选择两项)

A、id属性表示对象的名称

B、scope属性是必要的 //是比不可少的,虽说可省略不写,但默认仍存在

C、scope属性是可选的,默认为page

D、class属性是可选的 //class 属性与 type属性一样,二者(必须)任选一

答案:CD 

41、在JSP页面上使用JSTL标签时,应使用taglib指令导入标签库描述文件,并设置taglib指令的( )属性指定标签的前缀。

A、prefix 

B、name 

C、tag 

D、uri

答案:A 

42、JavaBean是在Java中开发的可以跨平台的重用组件,JavaBean必须满足的要求中不包括( )

A、是一个共有类

B、实现java.io.Serializable接口

C、具有不带任何参数的共有构造函数

D、具有访问属性的共有的getter和setter方法

答案:C 

43、在JSP页面中使用<c:froEach>标签,对session中集合对象arr进行迭代时,items属性赋值正确的是( )。

A、<c:forEach var=”bean” items=”session.arr”/>

B、<c:forEach var=”bean” items=”${session.arr}”/>

C、<c:forEach var=”bean” items=”sessionScope.arr”/>

D、<c:forEach var=”bean” items=”${sessionScope.arr}”/>

答案:D 

44、下列选项中不属于JSP标准动作的是( )

A、<jsp:forward/>

B、<c:out/> //这个是属于标签

C、<jsp:useBean/>

D、<jsp:setProperty/>    

答案:B 

45、在JavaEE中,初始化Servlet实例的时候,init()方法是由( )执行    

A、程序员编写代码来调用执行

B、每次执行当前的Servlet时,由系统自动执行

C、当第一次执行当前的Servlet时,由系统自动执行

D、以上说法都不对

答案:C

46、在Java Web应用程序中,要完成将用户会话中的”counter”计数器的值增加1,下列( )是正确的Servlet代码片段。

A、HttpSession session=request.getSession(true);

    int ival=session.getAttribute(“counter”);

    if(ival==null){

        ival=1;    

    }else{

        Ival=ival+1;

        session.setAttribute(“counter”,ival);

    }

B、HttpSession session=request.getSession(true);

   Integer ival=(Integer)session.getAttribute(“counter”);

   session.setAttribute(“counter”,ival+1);

C、HttpSession session =request.getAttribute(“counter”);

   if(ival==null){

       ival=new Integer(1);

   }else{

       ival=new Integer(ival.intValue()+1);

   }

   session.setAttribute(“counter”,ival);

D、HttpSession session=request.getSession();

Integer ival=(Integer)session.getAttribute(“counter”);

If(ival==null){

            ival=1;

}else{

            ival=ival+1;

}

session.setAttribute(“counter”,new Integer(ival));

答案:D 

47、在JSP页面中,( )可以取得名为boxes的复选框第一个值。(选两项)

A、${param.boxes}

B、${paramValues.boxes}

C、${paramValues.boxes[0]}

D、${paramValue.boxes[1]}

答案:AC 

48、下面这一段JSP代码片断的输出结果是( )。

<%! int i=1;%> //<%! Int i=1;%>代表声明的是全局变量或方法

<%!int getNumber(){ //<% int i=1;%> 代表声明的是局部变量或方法

return i;

}

%>

<% int i=10;

out.println(“first i=”+i);

%>

<% out.println(“second i=”+i); %>

<% out.println(“third i=”+getNumber()) ; %>

A、first 1=10 second i=1 third i=1

B、first i=10 second i=10 third i=1

C、first 1=10 second i=1 third i=10

D、first 1=1 second i=1 third i=1

答案:B 

49、在J2EE中,test.jsp文件如下。试图运行时,将发生( )。

<html>

<% String str=null ;%>

str is <% =”str”%>

</html>

A、转译期错误                            

B、编译期错误

C、运行后,浏览器上显示:str is null    

D、运行后,浏览器上显示:str is str

答案:D 

50、对于以下代码,说法正确的是( )。

session.setAttribute(“count”,new Integer(0));

Integer count = session.getAttribute(“count”);

A、不能通过编译                                 

B、能通过编译,并且能正常运行

C、编译通过,但运行时抛出ClassCastException            

D、以上说法都不正确

答案:A

北大青鸟网上报名
北大青鸟招生简章