您的位置:首页 > 编程语言 > Java开发

JavaEE复习

2013-10-30 11:00 381 查看
老师给的复习题。下周考试。仅供参考。

一、选择题

第 1 题. 编写一个 Filter,需 ()

A. 继承 Filter 类

B. 实现 Filter 接口

C. 继承 HttpFilter 类

D. 实现 HttpFilter 接口

正确答案为:B

第 2 题. 自定义标签的配置文件放在________

A. WebRoot

B. lib

C. classes

D. WEB-INF

正确答案为:D

第 3 题. 有关会话跟踪技术描述正确的是(多选)

A. Cookie 是 Web 服务器发送给客户端的一小段信息,客户端请求时,可以读取该信息

发送到服务器端

B. 关闭浏览器意味着会话 ID 丢失,但所有与原会话关联的会话数据仍保留在服务器

上,直至会话过期

C. 在禁用 Cookie 时可以使用URL 重写技术跟踪会话

D. 隐藏表单域将字段添加到HTML 表单并在客户端浏览器中显示

正确答案为:ABC

第 4 题. 在 JAVA EE 中,重定向到另一个页面,以下 ()语句是正确的

----------------------- Page 2-----------------------

A. request . sendRedirect(“http :// www . svse . com . cn”);

B. request . sendRedirect();

C. response . sendRedirect(“http: // www . svse . com . cn”);

D. response .sendRedirect();

正确答案为:C

第 5 题. EL 表达式,${10 mod3},执行结果为:

A. 10 mod 3

B. 1

C. 3

D. null

正确答案为:B

第 6 题. 自定义标签的作用是

A. 编写和使用方便

B. 规定是这样的,如果不用,别人会说我们不专业

C. 可以减少 jsp 中的 java 代码,将代码与界面标签分离,简化前台开发

D. 连数据库

正确答案为:C

第 7 题. request.getRequestDispatcher().forward(request,response)称之为

A. 流转

B. 转发

C. 重定向

D. 导航

正确答案为:B

第 8 题. 有关 Servlet 的生命周期说法正确的有 (多选)

----------------------- Page 3-----------------------

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

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

ServletContext 接口的对象

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

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

正确答案为:BCD

第 9 题. 在 JAVA EE 中,给定某 Servlet 的代码如下,编译运行该文件,以下陈述正确的

是 ()。(选择一项)

Public class Servlet1 extends HttpServlet{

Publicvoid init() throws ServletException{

}

Publicvoid service(HttpServletRequest request,HttpServletResponse

response)

ThrowsServletException,IOException{

PrintWriterout = response.getWriter();

out.println(“hello!”);

}

}

A. 编译该文件时会提示缺少 doGet()或者 dopost()方法,编译不能够成功通过

B. 编译后,把 Servlet1.class 放在正确位置,运行该 Servlet,在浏览器中会看到输

出文字:hello!

C. 编译后,把 Servlet1.class 放在正确位置,运行该 Servlet,在浏览器中看不到任

何输出的文字

D. 编译后,把 Servlet1.class 放在正确位置,运行该 Servlet,在浏览器中会看到运

行期错误信息

正确答案为:B

----------------------- Page 4-----------------------

第 10题. 在 Servlet 中,response.getWriter()返回的是____________

A. JspWriter 对象

B. PrintWriter 对象

C. Out 对象

D. ResponseWriter 对象

正确答案为:B

第 11题. 在 web.xml 中使用___________标签配置过滤器

A. <filter>和<filter-mapping>

B. <filter-name>和<filter-class>

C. <filter>和<filter-class>

D. <filter-pattern>和<filter>

正确答案为:A

第 12题. 自定义标签的描述文件在web.xml 中配置正确的

A. <taglib>

<tag-uri>bob-tld</tag-uri>

<tag-location>/WEB-INF/bob.tld</tag-location>

</taglib>

B. <tag>

<taglib-uri>bob-tld</taglib-uri>

<taglib-location>/WEB-INF/bob.tld</taglib-location>

</tag>

C. <jsp-taglib>

<taglib-uri>bob-tld</taglib-uri>

<taglib-location>/WEB-INF/bob.tld</taglib-location>

</jsp-taglib>

D. <jsp-config>

----------------------- Page 5-----------------------

<taglib>

<taglib-uri>bob-tld</taglib-uri>

<taglib-location>/WEB-INF/bob.tld</taglib-location>

</taglib>

</jsp-config>

正确答案为:D

第 13题. JAVA EE 中,Servlet API 为使用 Cookie,提供了 ()类。

A. javax.servlet.http.Cookie

B. javax.servlet.http.HttpCookie

C. javax.servlet. Cookie

D. javax.servlet.http.HttpCookie

正确答案为:A

第 14题. 在访问 Servlet 时,在浏览器地址栏中输入的路径是在_______地方配置的

A. <servlet-name/>

B. <servlet-mapping/>

C. <uri-pattern/>

D. <url-pattern/>

正确答案为:D

第 15题. 在 JSP 页面中,能够完成输出操作的内置对象是

A. out

B. response

C. request

D. config

正确答案为:A

----------------------- Page 6-----------------------

第 16题. 给定以下 JSP 代码片段,有 2 个客户依次浏览该 JSP;且每个客户只浏览一次,

第 2 个客户会看到浏览器显示 ()。(请选择一项)

<%int x = 1; %>

<%!int x = 10; %>

X =<%=x%>

A. x=1

B. x=2

C. x=10

D. x=11

正确答案为:A

第 17题. 在 JSP 中,若要在 JSP 正确使用标签:<x:getKing/>,在 jsp 中声明的 taglib

指令为:<%@tagliburi = “/WEB-INF/myTags.tld” prefix = “_____”%>,下划线处应

该是

A. x

B. getKing

C. myTags

D. king

正确答案为:A

第 18题. 能够保留请求作用域中数据的转向方式是______________

A. response.forward()

B. response.sendRedirect()

C. session.getRequestDispatcher().forward(request,response)

D. request.getRequestDispatcher().forward(request,response)

正确答案为:D

第 19题. Login.jsp 为登录页面,表单代码如下:

----------------------- Page 7-----------------------

<form action="index.jsp"method="post">

<input type="text" name="name"/>

<input type="submit" value="login"/>

</form>

Index.jsp 中直接显示用户名,以下哪种代码正确 ()

A. ${requestScope.name}

B. <%=name%>

C. ${param.name}

D. <%=param.name%>

正确答案为:C

第 20 题. 某 JSP 中有如下代码,显示结果为 ()

<%

inta = 5;

request.setAttribute(“a”,”123”);

session.setAttribute(“a”,”456”);

%>

<c:out value="${a}"/>

A. 5

B. 123

C. 456

D. null

正确答案为:B

第 21 题. 在 a.jsp 中有代码片断如下:

<form action =”b.jsp” method =”POST”name=”form1”>

loginName:<input type=”text”name=”loginName”/>

<input type=”submit” name=”submit”/>

----------------------- Page 8-----------------------

</form>

在 b.jsp 中加入下列 ()代码,可以输出在 a.jsp 页面上输入的 loginName 的值(多选)

A. <%=request.getParameter(“loginName”)%>

B. <%=request.gerAttribute(“loginName”)%>

C. <%Stringname=request.getParameter(“loginname”);

out.println(name); %>

D. <% Stringname=request.getAttribute(“loginname”); out.println(name); %>

正确答案为:AC

第 22 题. 要在 jsp 中使用ArrayList,做法正确的是

A. <% import java.util.ArrayList%>

B. <%@ import "java.util.ArrayList"%>

C. <%@ pageimport="java.util.ArrayList"%>

D. <%@ pagepackage="java.util.ArrayList"%>

正确答案为:C

第 23 题. 如果只希望在多个页面间共享数据,可以使用__________作用域

A. request,session

B. application session

C. request,application

D. pageContext request

正确答案为:A

第 24 题. 在编写过滤器时,需要完成的方法

A. doFilter()

B. doChain()

C. doPost()

----------------------- Page 9-----------------------

D. doDelete()

正确答案为:A

第 25 题. 以下代码执行效果为 ():

<c:forEach var = "i" begin = "1" end ="5" step = "2">

<c:outvalue=“${i}”/>

</c:forEach>

A. 1 2 3 4 5

B. 1 3 5

C. i i i

D. 15

正确答案为:B

第 26 题. request.setAttribute("user","svse");

session.setAttribute("user","bob");

使用{user}则显示

A. null

B. svse

C. bob

D. 啥也没有

正确答案为:B

第 27 题. 给定一个 Servlet 的 doGet 方法中的代码片段,如下:

request.setAttribute(“name”,”zhang”);

response.sendRedirect(“http://localhost:8080/servlet/MyServlt”);

那么在 MyServlet 中可以使用 ()方法把属性 name 的值取出来。

A. Stringstr=request.getAttribute(“name”);

B. Stringstr=(String)request.getAttribute(“name”);

----------------------- Page 10-----------------------

JavaWeb 结课考试考试复习题

C. Objectstr=request.getAttribute(“name”);

D. 无法取出来

正确答案为:D

第 28 题. 在 JSP 中,test . jsp 文件如下,试图运行时,将发生 ()。

<html>

<% String str = null; %>

str is <%= str%>

</html>

A. 转译期有误

B. 编译 Servlet 源码时发生错误

C. 执行编译后的 Servlet 时发生错误

D. 运行后,浏览器上显示:str isnull

正确答案为:D

第 29 题. 自定义标签中,如果要声明标签参数为必须的,则需要进行哪种配置:

A. <required>true</required>

B. <rtexprvalue>true</rtexprvalue>

C. <required>false</required>

D. <rtexprvalue>false</rtexprvalue>

正确答案为:A

第 30 题. 编写自定义标签处理类后,需要编写一个 ()去描述

A. .tag 文件

B. .tld 文件

C. dtd 文件

D. .xml 文件

正确答案为:B

----------------------- Page 11-----------------------

第 31 题. 考虑下面 JSP 文件代码片断:

<HTML>

<BODY>

<jsp:include page=”test2.jsp”>

<jsp:param name=”username”value=”svse”/>

</jsp:include>

</BODY>

</HTML>

以下 ()代码片断放置在 test2.jsp 中不会导致错误

A. <jsp:getParamname=”username”/>

B. <jsp:include param=”username”/>

C. <%=request.getParameter(“username”)%>

D. <%=request.getAttribute(“username”)%>

正确答案为:C

第 32 题. 在 HTTP 协议中,用于发送大量数据的方法是

A. get

B. post

C. put

D. options

正确答案为:B

第 33 题. JAVA EE 中,()类型的 ()方法用于得到会话

A. HttpServletRequest、getSession

B. HttpServletResponse、newSession

C. HtttpSession、newInstance

----------------------- Page 12-----------------------

D. HttpSession、getSession

正确答案为:A

第 34 题. 以下代码执行效果为:

<c:forEach var = "i" begin ="1" end = "5">

<c:outvalue="${i}"/>

</c:forEach>

A. 1 2 3 4 5

B. i i i i i

C. 15

D. 编译错误

正确答案为:A

第 35 题. MVC 中的 M V C 分别用_______、_______、_____表示

A. jsp servlet javabean

B. HTml javabean jsp

C. javabean jsp servlet

D. servlet html jsp

正确答案为:C

第 36 题. pageContext.setAttribute("user","tom");

request.setAttribute("user","bob");

显示"bob",则可以使用

A. {request.getAttribute("user")}

B. {param.user}

C. {user}

D. {requestScope.user}

----------------------- Page 13-----------------------

正确答案为:D

第 37 题. 以下哪个标签实现了 switch 功能

A. <c:if>

B. <c:switch>

C. <c:choose>

D. <c:case>

正确答案为:C

第 38 题. 在 jsp 中导入自定义标签的方式正确的是

A. web.xml 文件的<taglib>

B. <%@ tagliburi="" prefix=""%>

C. <jsp:tagliburi="" prefix=""%>

D. 无需导入,可直接使用

正确答案为:B

第 39 题. public classSecurityFilter __________________{

...

}

如果想要让该类成为一个过滤器,横线处应为

A. implements HttpFilter

B. extends Filter

C. extends HttpFilter

D. implements Filter

正确答案为:D

第 40 题. 在 JSP 中可动态导入其他页面的标签是

----------------------- Page 14-----------------------

A. <%include/></textarea>

B.<%@ include%>

C. <jsp:importPage/>

D. <jsp:include/>

正确答案为:D

第 41 题. 下面哪项是错误的设置 Bean 属性值的方法

A. <jsp:setPropertyname="beanInstanceName" property= "*" />

B. <jsp:setPropertyname="beanInstanceName"

property="propertyName"value="123"/>

C. <jsp:setPropertyname="beanInstanceName"

property="propertyName"param="parameterName" />

D. <jsp:setPropertyname="beanInstanceName" property="*" value="{string |<%=

expression %>}"/>

正确答案为:D

第 42 题. <%

String count="100";

pageContext.setAttribute("cnt",count);

%>

Count:{pageScope.cnt 100} 显示为

A. 100100

B. 运行异常

C. 200

D. 没有任何显示

正确答案为:C

第 43 题. 在 JAVA EE 中,使用 Servlet 过滤器,需要在 web.xml 中配置 ()元素 (选择

两项)

----------------------- Page 15-----------------------

A. <filter>

B. <filter-mapping>

C. <servlet-filter>

D. <filter-config>

正确答案为:AB

第 44 题. 在 JSP 中,只有一行代码:<%=AB%>,运行将输出

A. A B

B. AB

C. 113

D. 没有任何输出,因为表达式是错误的

正确答案为:D

第 45 题. 在 JAVA EE 中,假如 HttpSession 的 getLastAccessTime ()方法返回值为 x,

getCreationTime ()方法返回值为 y,则为 x - y ()

A. 两个连续请求之间间隔的最长时间

B. 最近的两个连续请求之间的时间间隔

C. 最后使用 session 发送请求的时间和 session 创建时间的间隔

D. 最后使用 session 发送请求的时间

正确答案为:C

第 46 题. 自定义标签中,使用属性时,需要在______文件中配置,使用_______标签

A. .tld <attribute/>

B. web.xml <attribute/>

C. .tld <tag/>

D. web.xml <tag/>

正确答案为:A

----------------------- Page 16-----------------------

第 47 题. 以下哪个方法不是TagSupport 类的方法

A. doPost()

B. doStartTag()

C. doEndTag()

D. doAfterBody()

正确答案为:A

第 48 题. Jsp 中有如下代码:

<%

Cookie c = new Cookie(“name” , “admin”);

c.setMaxAge(10000);

response.addCookie(c);

%>

以下哪句代码可以正确显示”admin”

A. ${cookie.name}

B. ${cookie.name.value}

C. ${ name}

D. ${name.value}

正确答案为:B

第 49 题. 以下 ()可用于检索 session 属性 userid 的值

A. session. getAttribute(“userid”);

B. session. setAttribute(“userid”);

C. request. getParameter(“userid”);

D. request. getAttribute(“userid”);

正确答案为:A

----------------------- Page 17-----------------------

第 50 题. 给定某 Servlet 程序的片段如下,用户在浏览器地址栏中键入正确的请求 URL 并

回车后,在控制台上显示的结果是(). (选择一项)

public void doGet(HttpServletRequest request,HttpServletResponseresponse)

throws ServletException ,IOException

{

System.out.println("get");

}

public void doPost(HttpServletRequest request,HttpServletResponseresponse)

throws ServletException ,IOException

{

System.out.println("post");

}

A. get

B. post

C. get

post

D. post

get

正确答案为:A

第 51 题. test.jsp 文件中有如下一行代码:

<jsp:useBean id=”user” scope=”__” class=”com.UserBean”>

要使 user 对象可以作用于整个应用程序,下划线中应添入 ()

A. page

B. request

C. session

D. application

----------------------- Page 18-----------------------

正确答案为:D

第 52 题. JSP 中有三大类标签,分别是

A. HTML 标记 JSP 标记 Servlet 标记

B. CSS 标记 HTML 标记 Javascript 标记

C. 动作标记 脚本标记 指令标记

D. 指令标记 脚本标记 HTML 标记

正确答案为:C

第 53 题. 在 JSP 中,只有一行代码:${1+2},运行将输出 ()

A. 1+2

B. 3

C. null

D. 没有任何输出,因为表达式是错误的

正确答案为:B

第 54 题. 下面__________方法可以返回当前请求的请求方式

A. request.getAttribute()

B. session.getMethod()

C. request.getMethod()

D. request.getRequestURI()

正确答案为:C

第 55 题. 利用 MyEclipse 开发 Servlet,下列说法正确的是

A. MyEclipse 可自动产生 web.xml

B. MyEclipse 不能自动产生 web.xml,需要手工编写

C. 可利用 MyEclipse 自带的Tomcat 作为 Servlet 容器

D. MyEclipse 没有自带 Tomcat,需要自己安装配置。

----------------------- Page 19-----------------------

正确答案为:AC

第 56 题. 当一个 Servlet 首次被请求的时候,服务器首先会调用________方法

A. doGet

B. doPost

C. doInit

D. init

正确答案为:D

第 57 题. 只能够传递字符串类型数据的方式是_________

A. 表单 URL 重写

B. session 对象 表单

C. 隐藏域 setParameter 方法

D. 都可以

正确答案为:A

第 58 题. 某 JSP 中有如下代码:

<%

pageContext.setAttribute(“a”,”page”);

request.setAttribute(“a”,”request”);

session.setAttribute(“a”,”session”);

application.setAttribute(“a”,”application”);

%>

有:${a}

则显示结果为:

A. page

B. request

----------------------- Page 20-----------------------

JavaWeb 结课考试考试复习题

C. session

D. application

正确答案为:A

第 59 题. 过滤器使用______________才能继续传递到下一个过滤器

A. request.getRequestDispatcher().forward(request,response);

B. doFilter()

C. doPut()

D. doChain()

正确答案为:B

第 60 题. 在 Servlet 里,能实现跳转的方法有

A. 运用 javax.servlet.http.HttpServletRequest 接口的 sendRedirect 方法

B. 运用 javax.servlet.http.HttpServletResponse 接口的 sendRedirect 方法

C. 运用 javax.servlet.RequestDispatcher 接口的 forward 方法

D. 运用 javax.servlet.ResponseDispatcher 接口的 forward 方法

正确答案为:BC

第 61 题. 以下哪项陈述是错误的

A. 在 WEB 项目的共享数据范围内,application 是范围最广泛的

B. 当我们在一个 JSP 页面新开窗口时,新开窗口的页面也共享 session 范围内的数据

C. 当在 JSP 页面中通过<jsp:forward>指令将页面请求转发到的页面中,可以共享一个

page 范围内的数据

D. 当用户重新打开一个浏览器窗口时,原 session 对象不再有效

正确答案为:C

第 62 题. 下面关于 JSP 作用域对象的说法错误的是

----------------------- Page 21-----------------------

JavaWeb 结课考试考试复习题

A. request 对象可以得到请求中的参数

B. session 对象可以保存用户信息

C. application 对象可以被多个应用共享

D. 作用域范围从小到达是 request、session、application

正确答案为:C

第 63 题. 以下代码能否编译通过,假如能编译通过,运行时得到什么输出结果 ()。

<%

request.setAttribute("count",newInteger(0));

Integer count =request.getAttribute("count") ;

%>

<%=count %>

A. 编译不通过

B. 可以编译运行,输出 0

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

D. 可以编译通过,但运行无输出

正确答案为:A

第 64 题. 在 Servlet 中,下列语句可以正确获取 PrintWriter 对象的是

A. PrintWriter out=request.getWriter();

B. PrintWriter out = request.getPrintWriter();

C. PrintWriter out=response.getWriter();

D. PrintWriter out = response.getPrintWriter();

正确答案为:C

第 65 题. 有 showgamej.jsp,代码如下

<%

----------------------- Page 22-----------------------

JavaWeb 结课考试考试复习题

Game game=request.getAttribute("gameEntity");

%>

<%=game.getGameName()%>

在浏览器中输入 http://localhost:8080/game/showgame.jsp
访问时,出现 500 错误,报出异常为 NullPointerException 造成该问题的原因可能是:

A. jsp 文件路径不对

B. game 对象没有用 new 初始化

C. getGameName()方法未定义

D. 参数名称所代表的对象在请求中根本就不存在

正确答案为:D

第 66 题. 从 JSP 中将数据传递给另一个JSP 或 Servlet,方式有____________

A. 表单 javascript HTML 标签

B. 表单 URL 重写 setAttribute 方法

C. URL 重写 隐藏域 表单

D. JSP 的标签

正确答案为:B

第 67 题. 在编写 Servlet 时需 __________

A. 继承 Servlet

B. 实现 HttpRequestServlet

C. 继承 HttpServlet

D. 实现 HttpRequest

正确答案为:C

第 68 题. 现在 session 中没有任何属性,阅读下面 2 个 JSP 中的代码,将分别输出 ()。

<%

----------------------- Page 23-----------------------

out.println(session.getAttribute("svse"));

%>

<%

session.invalidate();

out.println(session.getAttribute("svse"));

%>

A. null, 异常信息

B. null, null

C. 异常信息,异常信息

D. 异常信息,null

正确答案为:A

第 69 题. Http 协议的状态码 ()表示文件没有创建

A. 200

B. 400

C. 500

D. 404

正确答案为:D

第 70 题. Servlet 程序的入口点是:

A. init ()

B. main ()

C. service ()

D. doGet ()

正确答案为:A

第 71 题. 如下代码,执行效果为 ()

----------------------- Page 24-----------------------

<c:set var=“a” value=“123” />

<c:out value=“${a}”/>

<c:out value=“a”/>

A. 123 123

B. a 123

C. 123 a

D. A a

正确答案为:C

第 72 题. 在 JSP 页面中通过<jsp:forwardpage=urlname/>将本页面请求转发至指定 URL

指定的文件,则在该 URL 组件 (JSP 页面)中可接收数据的范围是(选择 3 项)

A. session

B. request

C. page

D. application

正确答案为:ABD

第 73 题. 在 WEB 应用中,数据传递的默认编码是

A. ISO-8859-1

B. UTF-8

C. GBK

D. UNICODE

正确答案为:A

第 74 题. 以下哪句代码可以正确导入核心标签库

A. <% page import ="c"%>

----------------------- Page 25-----------------------

B. <% page prefix ="c" uri = "/WEB-INF/c.tld"%>

C. <% taglib prefix ="c" import = "/WEB-INF/c.tld" %>

D. <% taglib prefix ="c" uri = "/WEB-INF/c.tld"%>

正确答案为:D

第 75 题. 从 HTTP 请求中,获得请求参数,应该调用

A. request 对象的 getAttribute()方法

B. request 对象的 getParameter()方法

C. session 对象的 getAttribute()方法

D. session 对象的 getParameter()方法

正确答案为:B

第 76 题. 在 servlet 中的 doGet 和 doPost 方法中只有如下代码: ()

request.setAttribute (”jb”,”aPtech”);

response.sendRedirect (”http://localhost:8080/servlet/Servlet2”);

那么在 Servlet2 中使用 ()可以把属性 jb 的值取出来

A. String str =request.getAttribute(“jb”);

B. String sir=(String)request.getAttribute(“jb”);

C. Object str =request.getAttribute(“jb“);

D. 取不出来

正确答案为:D

第 77 题. JAVA EE 中,HttpServletRequest 类的 ( )方法用返回与当前请求相关联的会话,

如果没有,则返回 null

A. getSession()

B. getSession(true)

C. getSession(false)

D. getSession(null)

----------------------- Page 26-----------------------

JavaWeb 结课考试考试复习题

正确答案为:C

第 78 题. Servlet 接受请求时,会调用_____________

A. service

B. doGet

C. doPost

D. init

正确答案为:A

第 79 题. 关于<jsp:include>,下列说法不正确的是 ()

A. 它可以包含静态文件

B. 它可以包含动态文件

C. 当它的 flush 属性为 true 时,表示缓冲区满时,将会被清空

D. 它的 flush 属性的默认值为 true

正确答案为:D

第 80 题. 在一个 Filter 中,处理 filter 业务的是 ()方法

A. dealFilter (ServletRequestrequest,ServletResponse response,FilterChain

chain)

B. dealFilter (ServletRequestrequest,ServletResponse response)

C. doFilter (ServletRequestrequest,ServletResponse response, FilterChain

chain)

D. doFilter (ServletRequestrequest,ServletResponse response)

正确答案为:C

第 81 题. 在自定义标签中,HelloTag 继承自 TagSupport 类,其中有如下代码:

out.println("HELLO");

----------------------- Page 27-----------------------

JavaWeb 结课考试考试复习题

该 out 对象声明方法为:

A. PrintWriter out =response.getOut();

B. JspWriter out =pageContext.getOut();

C. JspWriter out =pageContext.getWriter();

D. PrintWriter out =response.getWriter();

正确答案为:B

第 82 题. Servlet 的运行过程是

A. 当请求 Servlet 时,服务器会即时加载 Servlet 类,然后对该类进行实例化,调用

相应的方法处理请求

B. 首先对 Servlet 进行配置,然后服务器在处理请求时,将配置过的 Servlet 类找到,

然后实例化处理请求

C. 在服务器启动时,会加载 Servlet,然后在处理请求的时候,实例化 Servlet 对象处

理请求

D. Servlet 是一个具有接受请求和响应功能的类,在被请求时,Servlet 早就被实例化

好了,可以直接处理请求

正确答案为:C

第 83 题. 在 JSP 中,对<jsp:setProperty>标记描述正确的是 ()

A. <jsp:setProperty>和<jsp:getProPerty>必须在一个 JSP 文件中搭配出现

B. 就如同 session.setAttribute()一样,来设计属性/值对

C. 和<jsp:useBean>动作一起使用,来设置 bean 的属性值

D. 就如同 request.setAttribute()一样,来设置属性 /值对

正确答案为:C

第 84 题. 在 Servlet 中有一段代码如下

public void doPost(HttpServletRequestrequest, HttpServletResponse response)

----------------------- Page 28-----------------------

throwsServletException, IOException {

request.setAttribute("name", new Integer(100));

response.sendRedirect("show.jsp");

}

在 show.jsp 中

<%=request.getAttribute("name")%>

页面结果为

A. 100

B. java.lang.Integer

C. Integer

D. null

正确答案为:D

第 85 题. test.jsp 文件如下:

<jsp:useBean id ="buffer"scope="page" type="java.lang.StringBuffer"/>

<%buffer.append("ABC");%>

Buffer is <%=buffer%>

试图运行时,将发生 ()

A. 编译期错误

B. 编译 Servlet 源码时发生错误

C. 运行 Servlet 时发生错误

D. 运行后,浏览器上显示:buffer isABC.

正确答案为:A

第 86 题. <tag>

<name>message</name>

<tag-class>org.bob.taglib.MessageTag</tag-class>

<body-content>empty</body-content>

----------------------- Page 29-----------------------

JavaWeb 结课考试考试复习题

<attribute>

<name>name</name>

<required>true</required>

</attribute>

</tag>

对这段配置描述正确的是

A. 定义了一个 message 标签,有一个属性叫 name

B. 配置了一个名字为 message 的标签,该名称对应到 org.bob.taglib.MessageTag 类,

并且标签不允许有主体内容,使用标签时有一个必须得属性为 name

C. 声明了一个名字为 message 的标签,该标签对应到 MessageTag 类,并且标签没有主

体内容

D. 标签配置错误,主体不能为空

正确答案为:B

第 87 题. public class Writerimplements TagSupport{ (1)

protected int doStartTag(){SKIP_BODY} (2)

public int doEndTag(){return EVAL_PAGE} (3)

}

有问题的语句是

A. 2 3

B. 3

C. 1 2 3

D. 1 2

正确答案为:D

第 88 题. 支持中文的常用字符集有

----------------------- Page 30-----------------------

JavaWeb 结课考试考试复习题

A. UTF-8 GBK ZH23 BIG5

B. ISO-8859-1 MS950

C. UTF-8 GBK GB2312 BIG5

D. UTF-16 ANSI SQL

正确答案为:C

第 89 题. Servlet 可以在以下 ()三个不同的作用域存储数据

A. 请求、会话和上下文

B. 响应、会话和上下文

C. 请求、响应和会话

D. 请求、响应和上下文

正确答案为:A

第 90 题. 在 Filter 过滤器的生命周期方法中,每当传递请求或响应时,web 容器会调用

()方法

A. init

B. service

C. doFilter

D. destroy

正确答案为:C

第 91 题. application 对象是______________ ,而 session 对象则是_____________

A. 服务器的一个数据空间,可以让服务器中的所有应用共享数据 与用户的请求

有关

B. 应用程序上下文,它允许数据在同一应用程序中的任何 Web 组件共享 每个客户

专用的

----------------------- Page 31-----------------------

C. 存放所有的请求中数据 存放会话中的所有数据

D. HttpApplication 类型 保存用访问应用期间的私有数据

正确答案为:B

第 92 题. 给定一个 Model1 体系结构,其中有一个 JSP 页面处理所有控制器函数,这个 JSP

控制器要把请求分派给另一个 JSP 页面

A. <jsp:forwardpage=”view.jsp”/>

B. <jsp:forwardfile=”view.jsp”/>

C. <jsp:dispatchpage=”view.jsp”/>

D. <jsp:dispatchfile=”view.jsp”/>

正确答案为:A

第 93 题. <jsp:useBeanid="emp" scope="request"class="org.svse.entity.Employee">

<jsp:setProperty name="emp" property="ename"value="Susan"/>

</jsp:useBean>

员工名:_____________________.

显示员工姓名正确的做法是

A. {emp.ename}

B. {requestScope.emp.getEname()}

C. {requestScope.emp.ename}

D. {emp.getEname()}

正确答案为:C

第 94 题. 以下哪个参数不属于<c:forEach>标签

A. var

B. begin

C. end

----------------------- Page 32-----------------------

JavaWeb 结课考试考试复习题

D. delims

正确答案为:D

第 95 题. 在 JAVA EE 中,以下对RequestDispatcher 描述正确的是

A. Jsp 中有个隐含的对象 diapatcher,它的类型是 RequestDispatcher

B. ServletConfig 有一个方法:getRequestDispatcher 可以返回 RequestDipatcher

对象

C. RequestDipatcher 有一个方法:forward 可以把请求继续传递给别的 Servlet 或者

JSP 界面

D. JSP 中有个隐含的默认对象request,它的类型是 RequestDipatcher

正确答案为:C

第 96 题. 关于 MVC 模式说法正确的是

A. 用来将代码分开的方法

B. 将显示、流程控制、业务逻辑分开,提高维护性和分离复杂度

C. 视图 模型 控制器模型

D. 只用 java 才有的模型

正确答案为:B

第 97 题. 在 JSP 页面中,类型为 HttpServletResponse 的内置对象是

A. out

B. response

C. request

D. config

正确答案为:B

第 98 题. 在 JSP 页面中,保存数据的范围由小到大依次是

----------------------- Page 33-----------------------

A. pageContext,request,application,session

B. pageContext,application,session,request

C. pageContext,request,session,application

D. pageContext,session,request,application

正确答案为:C

第 99 题. http 是一个()协议

A. 无状态

B. 有状态

C. 状态良好的

D. 局域网

正确答案为:A

第 100题. 编写 Servlet 的 doPost 方法时,需要抛出异常为

A. ServletException,IOException

B. ServletException,RemoteException

C. HttpServletException,IOException

D. HttpServletException,RemoteException

正确答案为:A

第 101题. 使用 GET 方式提交数据,接收数据时,处理中文最直接有效方式为

A. request.setCharacterEncoding("utf-8");

B. response.setContentType("text/html;charset=utf-8");

C. String

name=newString(request.getParameter("name").getBytes("ISO-8859-1"),"gbk");

D. response.setCharacterEncoding("gbk");

----------------------- Page 34-----------------------

正确答案为:C

第 102题. 在 JSP 页面中,正确引入 JavaBean 的是 ()

A. <%jsp: useBean id =”myBean”scope =”page” class=”pkg.MyBean” %>

B. <jsp: useBean name=”myBean” scope =”page” class=”pkg.MyBean” >

C. <jsp: useBean id =”myBean”scope =”page” class=”pkg.MyBean” />

D. <jsp: useBean name=”myBean” scope =”page” class=”pkg.MyBean” />

正确答案为:C

第 103题. Tomcat 的端口号可以在_____文件中修改

A. server.xml

B. web.xml

C. tomcat.xml

D. 不能改

正确答案为:A

第 104题. 给定 TheBean 类,假设还没有创建 TheBean 类的实例,以下哪些JSP 标准动作

语句能创建这个 bean 的一个新实例,并把它存储在请求作用域

A. <jsp :useBeanname="myBean" type="com.example.TheBean"/>

B. <jsp :takeBeanname="myBean" type="com.example.TheBean"/>

C. <jsp :useBeanid="myBean" class="com.example.TheBean" scope="request"/>

D. <jsp :takeBeanid="myBean" class="com.example.TheBean" scope="request"/>

正确答案为:C

第 105题. 有三个 JSP 文件如下

1.jsp

<ahref="2.jsp?user=svse">To 2.jsp</a>

----------------------- Page 35-----------------------

2.jsp

<%Stringuser=request.getParameter("user");%>

<jsp:forward page="3.jsp"/>

3.jsp

<%=request.getParameter("user")%>

页面中输出

A. 报错

B. 什么都没有

C. null

D. svse

正确答案为:D

第 106题. 自定义标签的描述文件在web.xml 中配置正确的

A. <taglib>

<tag-uri>bob-tld</tag-uri>

<tag-location>/WEB-INF/bob.tld</tag-location>

</taglib>

B. <tag>

<taglib-uri>bob-tld</taglib-uri>

<taglib-location>/WEB-INF/bob.tld</taglib-location>

</tag>

C. <jsp-taglib>

<taglib-uri>bob-tld</taglib-uri>

<taglib-location>/WEB-INF/bob.tld</taglib-location>

</jsp-taglib>

D. <jsp-config>

<taglib>

<taglib-uri>bob-tld</taglib-uri>

----------------------- Page 36-----------------------

JavaWeb 结课考试考试复习题

<taglib-location>/WEB-INF/bob.tld</taglib-location>

</taglib>

</jsp-config>

正确答案为:D

第 107题. Servlet 中,HttpServletResponse 的 ()方法用来把一个 Http 请求重定向到

另外的 URL.

A. sendURL()

B. redirectURL()

C. sendRedirect()

D. redirectResponse()

正确答案为:C

第 108题. 在 JAVA EE 中,对于 HttpServlet 类的描述,错误的是

A. 我们自己编写的 Servlet 继承了 HttpServlet 类,一定需覆盖 doPost 或者 doGet

B. Httpservlet 类扩展了 GenericServlet 类,实现了 GenericServlet 类的抽象方法

C. Httpservlet 类中处理客户请求和响应时所使用的两个接口是:

HttpServletRequest 和 HttpServletResponse.

D. 我们自己编写的 servlet 继承了 Httpservlet 类,一般只需要覆盖 doPost 或 doGet

方法,不必覆盖 servive ()方法,因为一个 service ()方法会调用 doPost 或者 doGet

方法

正确答案为:A

第 109题. 在JSP 中,以下的page指令设置了使用的脚本语言是Java,且导入了java.rmi.*

和 java.util.*包.正确的是

A. <%@ pageLanguage=“Java”,import=”java.rmi.*;java.uitl.* ”%”>

B. <%@ pagelanguage=“Java” import=”java.rmi.* ;java.uitl.* ”%”>

----------------------- Page 37-----------------------

C. <%@ pagelanguage=“Java”;import=”java.rmi.*;java.uitl.* ”%”>

D. <%@ pagelanguage=“Java” import=”java.rmi.* ,java.uitl.* ”%>

正确答案为:D

第 110题. 下面关于 MVC 的说法不正确的是

A. M 表示 Model 层,是存储数据的地方

B. View 表示视图层,负责向用户显示外观

C. Controller 是控制层,负责控制流程

D. 在 MVC 架构中 jsp 通常做控制层

正确答案为:D

第 111题. 给定 test1.jsp 代码片断,如下:

<html>

<jsp:include page=”test2.jsp”flush=”false”>

<jsp:param name=”color” value=”red”/>

</jsp:include>

</html>

要在 test2.jsp 中输出参数 color 中的值,以下选项正确的是 ()

A. <%=request.getParameter(“color”)%>

B. <%=request.getAttribute(“color”)%>

C. <jsp:getParamname=”color”/>

D. <jsp:includeparam=”color”/>

正确答案为:A

第 112题. 在 JSP 中,给定以下 JSP 代码片段,运行结果是 ()。

<% int x=5; %>

<% ! int x=7; %>

<%!

----------------------- Page 38-----------------------

Int getX(){

returnx;

}

%>

<% out.print(“X1=” x); %>

<% out.print(“X2=” getX()); %>

A. X1=5 X2=7

B. X1=5 X2=5

C. X1=7 X2=7

D. X1=7 X2=5

正确答案为:A

第 113题. 在 WEB 应用程序的目录结构中,在 WEB-INF 文件夹中的 lib 目录是放()文件的

A. .jsp 文件

B. .class 文件

C. .jar 文件

D. web.xml 文件

正确答案为:C

第 114题. 给定一个 Servlet 程序的代码片段,如下:()

Public void doPost(HttpServletRequestrequest,HttpServletResponse response) throws

ServletException {

request.getSession().getAttribute(“A”); //第二行

}

假定第二行返回的对象引用不是 null,那么这个对象存储在 ()范围中

A. page

B. session

----------------------- Page 39-----------------------

C. request

D. application

正确答案为:B

第 115题. 在 JAVA EE 中,使用 Resultset 对象的 next()方法移动光标时,如果超过界

限,会抛出异常,该异常通常是

A. InterruptedExceptlon

B. AlreadyBoundExceptlon

C. SQLException

D. NetExcePtlon

正确答案为:C

第 116题. 以下代码执行效果为:()

<%

session.setAttribute(“a”,”svse”);

%>

<c:if test=“${2>1}”>

<c:out value=“${a}”/>

</c:if>

A. a

B. svse

C. 2>1

D. null

正确答案为:B

第 117题. 给定一个 Servlet 的代码片段如下:( )

Publicvoid doGet(HttpServletRequest request,HttpServletResponse

response)

----------------------- Page 40-----------------------

throws ServletException,IOException{

______

out.println(“hi kitty!”);

out.close();

}

运行次 Servlet 时输出如下:

hikitty!

则应在此 Servlet 下划线处填充如下代码

A. PrintWriter out =response.getWriter();

B. PrintWriter out =request.getWriter();

C. OutputStream out =response.getOutputStream();

D. OutputStream out =request.getWriter();

正确答案为:A

第 118题. 按作用域从大到小排列正确的是

A. application page requestresponse

B. session pageContext requestapplication

C. public application session request

D. application sessionrequest pageContext

正确答案为:D

第 119题. <%

String name=request.getAttribute("uname");

%>

________________________

横线处使用什么代码可以将 name 的值显示在页面

A. response.print(name);

----------------------- Page 41-----------------------

B. <%request.getOut().print(name)%>

C. <%=name%>

D. <p>name</p>

正确答案为:C

第 120题. 在 JAVA EE 中,在 web.xml 中,有如下代码:

<session - config>

<session- timeout>30</session - timeout>

</session - config>

上述代码定义了默认的会话超时时长,时长为 30 ()

A. 毫秒

B. 秒

C. 分钟

D. 小时

正确答案为:C

第 121题. 在 JSP 中,<%="1+4"%>将输出

A. 1+4

B. 5

C. 14

D. 不会输出,因为表达式是错误的

正确答案为:A

第 122题. jsp 最终被运行的是

A. 一个 java 文件

B. 一个 class 文件

C. 一个 HTML

----------------------- Page 42-----------------------

D. 一个 JSP

正确答案为:B

第 123题. 完整的配置一个 Servlet 需 __________________标签

A. <webapp></webapp>

B. <servlet></servlet>和<servlet-mapping></servlet-mapping>

C. <servlet-name/>和<servlet-class>

D. <servlet-mapping><servlet-name>

正确答案为:B

第 124题. 在 JAVA EE 中,标签库中文件 (*.tld)存放在 ()目录下

A. WEB—INF

B. WEB—INF/tags

C. WEB—INF/classes

D. WEB—INF/lib

正确答案为:A

第 125题. JSP EL 表达式:${user.loginName}执行效果等同于 ( )

A. <%=user.getLoginName()%>

B. <%user.getLoginName();%>

C. <%=user.loginName%>

D. <%user.loginName;%>

正确答案为:A

第 126题. 在 JSP 中,以下是有关<jsp:setProperty>和<jsp:getProperty>标记的描述,

正确的是 ()

----------------------- Page 43-----------------------

A. <jsp:setProperty>和<jsp:getProperty>标记都必须在<jsp:useBean>的开始标记

和结束标记之间

B. 这两个标记的 name 属性的值必须和<jsp:usebean>标记的 id 属性的值相对应

C. <jsp:setProperty>和<jsp:getProperty>标记可以用于对 bean 中定义的所有属性

进行选择和设置

D. 这两个标记的 name 属性的值可以和<jsp:userbean>标记的 id 属性的值不同

正确答案为:B

第 127题. 在请求中没有包含名为 user 的参数时,使用如下语句

{user},则会出现

A. 编译报错

B. 运行出错

C. null

D. 什么都没有

正确答案为:D

第 128 题. 核心标签库中,用来实现循环功能的标签是 ()

A. <c:if>

B. <c:for>

C. <c:while>

D. <c:forEach>

正确答案为:D

第 129题. 在 WEB 应用程序的目录结构中,在 WEB-INF 文件夹外的文件为

A. .jsp 文件

B. .class 文件

C. .jar 文件

----------------------- Page 44-----------------------

D. web.xml 文件

正确答案为:A

第 130题. 下列那个类是抽象类

A. ServletConfig

B. HttpServlet

C. Cookie

D. HttpServletRequest

正确答案为:B

第 131题. 在 JSP 中,page 指令的 ()属性用来引入需要的包或类

A. extends

B. import

C. languge

D. contentType

正确答案为:B

第 132题. 请求 Servlet 的时候,Servlet 的对象由__________

A. 服务器负责实例化

B. 由开发人员在请求中实例化

C. Servlet 会自动实例化

D. Servlet 只加载,无需实例化

正确答案为:A

第 133题. 过滤条件配置正确的是

A. <filter-class>/*</filter-class>

----------------------- Page 45-----------------------

JavaWeb 结课考试考试复习题

B. <url-pattern>/user/*</url-attern>

C. <url-pattern>*</url-attern>

D. <filter-mapping>*</filter-mapping>

正确答案为:B

第 134题. 关于 session 的使用,下列说话正确的是(多选)

A. 不同的用户窗口具有不同的 session

B. 不同的用户窗口具有相同的 session

C. session 可能超时间

D. session 永远不可能超时

正确答案为:AC

第 135题. http://localhost:8080/web/show.jsp?name=svse 下列取得请求参数值正确的

是_______

A. {param.name}

B. {name}

C. {parameter.name}

D. {param.get("name")}

正确答案为:A

第 136题. {empty param.user?"Administrator":param.user} 说法正确的是

A. 编译时出错,不支持该语法

B. 如果参数 user 为空则返回 Administrator 否则就返回 user 的值

C. 如果参数 user 为空字符则返回 Administrator 否则就返回 user 的值

D. 如果参数 user 为空则返回 user 否则就返回 Administrator 的值

正确答案为:B

----------------------- Page 46-----------------------

第 137题. 不属于 jsp 动作标记的是

A. <jsp:attribute/>

B. <jsp:forwards/>

C. <jsp:include/>

D. <jsp:useBean/>

正确答案为:B

二.简答题

1、JSP 页面是如何被执行的?JSP 执行效率比 Servlet 低吗?

当客户端向一个 JSP 页面发出请求时,Web Container 将 JSP 转化成 Servlet 的源代码(只

在第一次请求时),然后编译转化后的 Servlet 并加载到内存中执行,执行的结果 Response

到客户端。

JSP 只在第一次执行的时候会转化为 Servlet,以后每次执行Web 容器都是直接执行编译后

的 Servlet,所以 JSP 和 Servlet 只是在第一次执行的时候不一样,JSP 慢一点,以后的执行

都是相同的。

2、JSP 如何处理运行时异常(run-time)exceptions?

可以使用页面的 errorPage 属性捕获没有处理的运行时异常,然后自动转向到一个错误处理

页面,代码如下:

<%@ page errorPage=”error.jsp” %>

如果在页面请求时出现运行时异常是,以上代码会把页面转向到 JSP 页面 error.jsp,在

error.jsp 里面,可以通过以下代码定义这个页面是错误处理页:

<%@ page isErrorPage=”true” %>

这样描述错误信息的 Throwable 对象就可以在 error.jsp 页面里面访问到。

----------------------- Page 47-----------------------

JavaWeb 结课考试考试复习题

3、如果 jsp 表单元素的值为空,如何避免 null 出现在页面上?

可以写一个简单的函数对空值进行处理,判断值是否为空,如果是空就返回空字符串。实例

代码如下:

<%!

String blanknull(String s){

return (s == null) ? “” : s;

}

%>

在你的 JSP 里面,可以使用以上函数输出文本框或者其他页面元素的值,实例代码如下:

<input type=”text” name=”shoesize” value=”<%=blanknull(shoesize)% >” >

4、如何避免 JSP 页面自动生成 session 对象?为什么要这么做?

在默认情况下,在对一个 JSP 页面发出请求时,如果 session 还没有建立,JSP 页面会自动

为请求建立一个 session 对象,但是 session 是比较消耗资源的,如果没必要保持和使用

session,就不应该创建 session, 例如一些只是用来宣传产品的网站,往往没必要使用

session 来保存信息,可以使用 jsp 页面指令 session=”false”来避免 JSP 页面为每个请

求都自动创建 session.实例代码如下:

<%@ page session=”false”>

5、在 servlets 和 JSP 之间能共享 session 对象吗?

当然可以,

HttpSession session = request.getSession(true);

session.putValue(”variable”,”value”);

6、Servlet 都有哪些方法?主要作用是什么?

----------------------- Page 48-----------------------

HttpServlet 类包含 init() 、 destroy() 、 service() 等方法 。其中 init() 和

destroy() 方法是继承的。

(1) init() 方法

在 Servlet 的生命期中,仅执行一次 init() 方法。它是在服务器装入 Servlet 时执行的。

可以配置服务器,以在启动服务器或客户机首次访问 Servlet 时装入 Servlet 。 无论有

多少客户机访问 Servlet ,都不会重复执行 init() 。

缺省的 init() 方法通常是符合要求的,但也可以用定制 init() 方法来覆盖它,典型的是

管理服务器端资源。 例如,可能编写一个定制 init() 来只用于一次装入 GIF 图像,改进

Servlet 返回 GIF 图像和含有多个客户机请求的性能。另一个示例是初始化数据库连接。

缺省的 init() 方法设置了 Servlet 的初始化参数,并用它的 ServletConfig 对象参数来

启动配置, 因此所有覆盖 init() 方法的 Servlet 应调用 super.init() 以确保仍然执行

这些任务。在调用 service() 方法之前,应确保已完成了 init() 方法。

(2) service() 方法

service() 方法是 Servlet 的核心。每当一个客户请求一个 HttpServlet 对象,该对象的

service() 方法就要被调用,而且传递给这个方法一个 “请求”( ServletRequest )对象

和一个“响应”( ServletResponse )对象作为参数。 在 HttpServlet 中已存在 service()

方法。缺省的服务功能是调用与 HTTP 请求的方法相应的 do 功能。例如, 如果 HTTP 请

求方法为 GET ,则缺省情况下就调用 doGet() 。 Servlet 应该为 Servlet 支持的 HTTP

方法覆盖 do 功能。因为 HttpServlet.service() 方法会检查请求方法是否调用了适当的

处理方法,不必要覆盖 service() 方法。只需覆盖相应的 do 方法就可以了。

= 当一个客户通过 HTML 表单发出一个 HTTP POST 请求时, doPost ()方法被调用。 与

POST 请求相关的参数作为一个单独的 HTTP 请求从浏览器发送到服务器。当需要修改服务

器端的数据时,应该使用 doPost() 方法。

= 当一个客户通过 HTML 表单发出一个 HTTP GET 请求或直接请求一个 URL 时, doGet()

方法被调用。 与 GET 请求相关的参数添加到 URL 的后面,并与这个请求一起发送。当不

会修改服务器端的数据时,应该使用 doGet() 方法。

Servlet 的响应可以是下列几种类型:

一个输出流,浏览器根据它的内容类型 (如 text/HTML )进行解释。

一个 HTTP 错误响应 , 重定向到另一个 URL 、 servlet 、 JSP 。

(3) destroy() 方法

----------------------- Page 49-----------------------

JavaWeb 结课考试考试复习题

destroy() 方法仅执行一次,即在服务器停止且卸装 Servlet 时执行该方法。典型的,将

Servlet 作为服务器进程的一部分来关闭。缺省的 destroy() 方法通常是符合要求的,但

也可以覆盖它,典型的是管理服务器端资源。例如,如果 Servlet 在运行时会累计统计数

据,则可以编写一个 destroy() 方法,该方法用于在未装入 Servlet 时将统计数字保存在

文件中。另一个示例是关闭数据库连接。

当服务器卸装 Servlet 时,将在所有 service() 方法调用完成后,或在指定的时间间隔过

后调用 destroy() 方法。一个 Servlet 在运行 service() 方法时可能会产生其它的线程,

因此请确认在调用 destroy() 方法时,这些线程已终止或完成。

(4) GetServletConfig ()方法

GetServletConfig ()方法返回一个 ServletConfig 对象,该对象用来返回初始化参数和

ServletContext 。 ServletContext 接口提供有关 servlet 的环境信息。

(5) GetServletInfo ()方法

GetServletInfo ()方法是一个可选的方法,它提供有关 servlet 的信息,如作者、版本、

版权。

当服务器调用 sevlet 的 Service ()、 doGet ()和 doPost ()这三个方法时,均需

“请求”和 “响应”对象作为参数。“请求”对象提供有关请求的信息,而 “响应”对象

提供了一个将响应信息返回给浏览器的一个通信途径。 javax.servlet 软件包中的相关类

为 ServletResponse 和 ServletRequest ,而 javax.servlet.http 软件包中的相关类为

HttpServletRequest 和 HttpServletResponse 。 Servlet 通过这些对象与服务器通信并

最终与客户机通信。 Servlet 能通过调用 “请求”对象的方法获知客户机环境,服务器环

境的信息和所有由客户机提供的信息。 Servlet 可以调用 “响应”对象的方法发送响应,

该响应是准备发回客户机的。

7、Java Servlet 的主要功能和作用是什么?

Servlet 通过创建一个框架来扩展服务器的能力,以提供在 Web 上进行请求和响应服务。

当客户机发送请求至服务器时,服务器可以将请求信息发送给 Servlet ,并让 Servlet 建

立起服务器返回给客户机的响应。 当启动 Web 服务器或客户机第一次请求服务时,可以自

动装入 Servlet 。装入后, Servlet 继续运行直到其它客户机发出请求。 Servlet 的功

能涉及范围很广。例如, Servlet 可完成如下功能:

(1) 创建并返回一个包含基于客户请求性质的动态内容的完整的 HTML 页面。

----------------------- Page 50-----------------------

(2) 创建可嵌入到现有 HTML 页面中的一部分 HTML 页面 ( HTML 片段)。

(3) 与其它服务器资源 (包括数据库和基于 Java 的应用程序)进行通信。

(4) 用多个客户机处理连接,接收多个客户机的输入,并将结果广播到多个客户机上。例如,

Servlet 可

以是多参与者的游戏服务器。

(5) 当允许在单连接方式下传送数据的情况下,在浏览器上打开服务器至 applet 的新连

接,并将该连

接保持在打开状态。当允许客户机和服务器简单、高效地执行会话的情况下, applet 也可

以启动客户浏览器和服务器之间的连接。可以通过定制协议或标准 (如 IIOP )进行通信。

(6) 对特殊的处理采用 MIME 类型过滤数据,例如图像转换和服务器端包括 ( SSI )。

(7) 将定制的处理提供给所有服务器的标准例行程序。例如, Servlet 可以修改如何认证

用户。

8、Request 对象的主要方法有哪些?

setAttribute(String name,Object):设置名字为 name 的request 的参数值

getAttribute(String name):返回由 name 指定的属性值

getAttributeNames():返回 request 对象所有属性的名字集合,结果是一个枚举的实例

getCookies():返回客户端的所有 Cookie 对象,结果是一个 Cookie 数组

getCharacterEncoding():返回请求中的字符编码方式

getContentLength():返回请求的 Body 的长度

实例

getInputStream():返回请求的输入流,用于获得请求中的数据

getMethod():获得客户端向服务器端传送数据的方法

getParameter(String name):获得客户端传送给服务器端的有 name 指定的参数值

getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的

实例

getParameterValues(String name):获得有 name 指定的参数的所有值

getProtocol():获取客户端向服务器端传送数据所依据的协议名称

getQueryString():获得查询字符串

getRequestURI():获取发出请求字符串的客户端地址

----------------------- Page 51-----------------------

getRemoteAddr():获取客户端的 IP 地址

getRemoteHost():获取客户端的名字

getSession([Boolean create]):返回和请求相关 Session

getServerName():获取服务器的名字

getServletPath():获取客户端所请求的脚本文件的路径

getServerPort():获取服务器的端口号

removeAttribute(String name):删除请求中的一个属性

9、使用 JSP 连接到数据库连接缓冲池的最好方法是什么?

1.使用 JDBC2.0 中带有此服务的Driver

2.使用提供有此服务的 Application server

3. 自己写

10、在 JSP 中如何写文本文件?

使用 PrintWriter 对象,如:

<%@ page import=”java.io.*” %>

<%

String str = “print me”;

String nameOfTextFile = “/usr/anil/imp.txt”;

try {

PrintWriter pw = new PrintWriter(new File

OutputStream(nameOfTextFile));

pw.println(str);

pw.close();

} catch(IOException e) {

out.println(e.getMessage());

}

%>

11、JSP 的缺点?

----------------------- Page 52-----------------------

1.对 JAVA 程序进行调试没有好东东

2.因大多数的 servlet 引擎不支持 connection pooling

3.Servlet 引擎没有标准

4.JSP 与其它脚本语言的交互

12、在 JSP 中如何删除一个COOKIE?

<%

Cookie killMyCookie = new Cookie(”mycookie”, null);

killMyCookie.setMaxAge(0);

killMyCookie.setPath(”/”);

response.addCookie(killMyCookie);

%>

13、如何现实 servlet 的单线程模式?

<%@ page isThreadSafe=”false”%>

14、说出 Servlet 和 CGI 的区别?

与 cgi 的区别在于 servlet 处于服务器进程中,它通过多线程方式运行其 service 方法,一

个实例可以服务于多个请求,并且其实例一般不会销毁,而 CGI 对每个请求都产生新的进程,

服务完成后就销毁,所以效率上低于 servlet。

15、Servlet 的生命周期?

Servlet 是一种可以 在 Servlet 容器中运行的组件,那么理所当然就应该有一个从创建到

销毁的过程,这个过程我们可以称之为 Servlet 生命周期。Servlet 的生命 周期可以分为

加载、实例化、初始化、处理客户请求和卸载五个阶段,体现在方法上主要是 init()、service

()和 destroy ()三个方法。生 命周期的具体说明如下:

----------------------- Page 53-----------------------

· Servlet 容器完成加载 Servlet 类和实例化一个 Servlet 对象

· init ()方法完成初始化工作,该方法由 Servlet 容器调用完成

· service ()方法处理客户端请求,并返回响应结果

· destroy ()方法在 Servlet 容器卸载 Servlet 之前被调用,释放一些资源

16、介绍一下 javax.servlet.Servlet 接口及其主要方法?

Servlet 接口的主要作用是提供 Servlet 生命周期的 init()、service()和 destroy()方法。

servlet 接口中的主要方法有:

void init(ServletConfit config)throws ServletException 在 servlet 被载入后和

实施服务前由 servlet 引擎进行一次性调用。如果 init()产生溢出 UnavailableException,

则 servle 退出服务。

ServletConfig getServletConfig() 返回传递到 servlet 的 init() 方法的

ServletConfig 对象

void service(ServletRequest request, ServletResponse response)throws

ServletException,IOException 处理 request 对象中描述的请求,使用 response 对象

返回请求结果

String getServletInfo() 返回描述 servlet 的一个字符串

void destory() 当 servlet 将要卸载时由 servlet 引擎调用,销毁 Servlet 实例。

17、HttpServlet 类中的主要方法都有哪些?各自的作用是什么?

HttpServlet 的主要方法有 doGet, doPost, doPut, doDelete, doTrace 等等

Void doGet(HttpServletRequest request,HttpServletResponse response)throws

ServletException,IOException 由servlet 引擎调用用处理一个 HTTP GET 请求。输入

----------------------- Page 54-----------------------

参数、HTTP 头标和输入流可从 request 对象、response 头标和 response 对象的输出流中获

得。

Void doPost(HttpServletRequest request,HttpServletResponse response)throws

ServletException,IOException 由 servlet 引擎调用用处理一个 HTTP POST 请求。输

入参数、HTTP 头标和输入流可从 request 对象、response 头标和 response 对象的输出流中

获得。

Void doPut(HttpServletRequest request,HttpServletResponse response)throws

ServletException,IOException 由servlet 引擎调用用处理一个 HTTP PUT 请求。本方

法中请求 URI 指出被载入的文件位置。

Void doDelete(HttpServletRequest request,HttpServletResponse response)throws

ServletException,IOException 由 servlet 引擎调用用处理一个 HTTP DELETE 请求。

请求 URI 指出资源被删除。

Void doOptions(HttpServletRequest request,HttpServletResponse response)throws

ServletException,IOException 由servlet 引擎调用用处理一个 HTTP OPTIONS 请求。

返回一个 Allow 响应头标表明此 servlet 支持的 HTTP 方法。一个 servlet 不需要覆盖此方

法,因为 HttpServlet 方法已经实现规范所需的功能。

Void doTrace(HttpServletRequest request,HttpServletResponse response)throws

ServletException,IOException 由servlet 引擎调用用处理一个 HTTP TRACE 请求。使

得请求头标被反馈成响应关标。一个 servlet 不需要覆盖此方法,因为HttpServlet 方法已

经实现 HTTP 规范所需的功能。

Void service(HttpServletRequest request,HttpServletResponse response)throws

ServletException,IOException Service(Request request,Response response)调用

的一个立即方法,带有指定 HTTP 请求和响应。此方法实际上将请求导向 doGet()、doPost()

等等。不应该覆盖此方法。

Void service(Request request,Response response)throws

ServletException,IOException 将请求和响应对象置入其指定的 HTTP 子类,并调用指

定 HTTP 的 service()方法。

18、XML 文档定义有几种形式?它们之间有何本质区别?解析 XML 文档有哪几种方式?

----------------------- Page 55-----------------------

a: 两种形式 dtd schema,

b: 本质区别:schema 本身是 xml 的,可以被 XML 解析器解析 (这也是从 DTD 上发展 schema

的根本目的)。

c:有 DOM,SAX,STAX 等

DOM:处理大型文件时其性能下降的非常厉害。这个问题是由 DOM 的树结构所造成的,这种结

构占用的内存较多,而且 DOM 必须在解析文件之前把整个文档装入内存,适合对 XML 的随机

访问;SAX:不现于 DOM,SAX 是事件驱动型的 XML 解析方式。它顺序读取 XML 文件,不需要一

次全部装载整个文件。当遇到像文件开头,文档结束,或者标

签开头与标签结束时,它会触发一个事件,用户通过在其回调事件中写入处理代码来处理

XML 文件,适合对 XML 的顺序访问

STAX:Streaming API for XML (StAX)

19、你在项目中用到了 xml 技术的哪些方面?如何实现的?

用到了数据存贮,信息配置两方面。在做数据交换平台时,将不能数据源的数据组装成 XML

文件,然后将 XML 文件压缩打包加密后通过网络传送给接收者,接收解密与解压缩后再同

XML 文件中还原相关信息进行处理。在做软件配置时,利用 XML 可以很方便的进行,软件的

各种配置参数都存贮在 XML 文件中。

三、简答附加

1、jsp 有哪些内置对象?作用分别是什么?

2.jsp 有哪些动作?作用分别是什么?

3.forward 和 redirect 的区别

4.JSP 中动态 INCLUDE 与静态 INCLUDE 的区别?

5.两种跳转方式分别是什么?有什么区别?

6.JSP 的内置对象及方法。

7、JSP 中动态 INCLUDE 与静态 INCLUDE 的区别?

----------------------- Page 56-----------------------

8、JSP 的常用指令?

9、jsp 的四种范围

四、编程题

1、开发一个 MVC 应用程序,用于用户登录。模型应该是一个 javaBean,要求包含用户名,

密码字段,以及用于访问这些字段的方法。控制权应该转交给 servlet 控制器。Servlet 控

制器应该检查。如果用户输入的用户名和密码已经存在,则要求显示登陆成功信息,否则显

示错误信息。

2、使用 sevlet 技术和会话跟踪实现网络聊天的 web 应用程序。

3、自建数据库制作一个简单的邮件查看系统:

步骤如下:

步骤 1:按下面要求创建数据库和表:

数据库名:“db_mails”

表名:“mail_info”(邮件信息表)

字段列表:

字段名称 数据类型

邮件 ID int

邮件标题 nvarchar

邮件内容 nvarchar

邮件日期 datetime

为表输入以下记录:





步骤二:

建立邮件显示页面:showMails.jsp,在这个页面上显示 mails 表中的所有记录,要求

显示的字段为:“邮件 ID”、“邮件标题”、“邮件日期”,如图 5 所示:



图 6



4、完成登录功能



5、完成新闻发布系统
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: