JavaEE复习

老师给的复习题。下周考试。仅供参考。

一、选择题

1.编写一个Filter,需()

A.继承Filter

B.实现Filter接口

C.继承HttpFilter

D.实现HttpFilter接口

正确答案为:B

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

A.WebRoot

B.lib

C.classes

D.WEB-INF

正确答案为:D

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

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

发送到服务器端

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

上,直至会话过期

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

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

正确答案为:ABC

4.JAVAEE中,重定向到另一个页面,以下()语句是正确的

-----------------------Page2-----------------------

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表达式,${10mod3},执行结果为:

A.10mod3

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的生命周期说法正确的有(多选)

-----------------------Page3-----------------------

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

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

ServletContext接口的对象

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

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

正确答案为:BCD

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

是()。(选择一项)

PublicclassServlet1extendsHttpServlet{

Publicvoidinit()throwsServletException{

}

Publicvoidservice(HttpServletRequestrequest,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

-----------------------Page4-----------------------

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>

-----------------------Page5-----------------------

<taglib>

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

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

</taglib>

</jsp-config>

正确答案为:D

13.JAVAEE中,ServletAPI为使用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

-----------------------Page6-----------------------

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

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

<%intx=1;%>

<%!intx=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为登录页面,表单代码如下:

-----------------------Page7-----------------------

<formaction="index.jsp"method="post">

<inputtype="text"name="name"/>

<inputtype="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:outvalue="${a}"/>

A.5

B.123

C.456

D.null

正确答案为:B

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

<formaction=”b.jsp”method=”POST”name=”form1”>

loginName:<inputtype=”text”name=”loginName”/>

<inputtype=”submit”name=”submit”/>

-----------------------Page8-----------------------

</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.<%importjava.util.ArrayList%>

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

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

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

正确答案为:C

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

A.request,session

B.applicationsession

C.request,application

D.pageContextrequest

正确答案为:A

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

A.doFilter()

B.doChain()

C.doPost()

-----------------------Page9-----------------------

D.doDelete()

正确答案为:A

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

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

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

</c:forEach>

A.12345

B.135

C.iii

D.15

正确答案为:B

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

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

使用{user}则显示

A.null

B.svse

C.bob

D.啥也没有

正确答案为:B

27.给定一个ServletdoGet方法中的代码片段,如下:

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

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

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

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

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

-----------------------Page10-----------------------

JavaWeb结课考试考试复习题

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

D.无法取出来

正确答案为:D

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

<html>

<%Stringstr=null;%>

stris<%=str%>

</html>

A.转译期有误

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

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

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

正确答案为: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

-----------------------Page11-----------------------

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

<HTML>

<BODY>

<jsp:includepage=”test2.jsp”>

<jsp:paramname=”username”value=”svse”/>

</jsp:include>

</BODY>

</HTML>

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

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

B.<jsp:includeparam=”username”/>

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

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

正确答案为:C

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

A.get

B.post

C.put

D.options

正确答案为:B

33.JAVAEE中,()类型的()方法用于得到会话

A.HttpServletRequestgetSession

B.HttpServletResponsenewSession

C.HtttpSession、newInstance

-----------------------Page12-----------------------

D.HttpSession、getSession

正确答案为:A

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

<c:forEachvar="i"begin="1"end="5">

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

</c:forEach>

A.12345

B.iiiii

C.15

D.编译错误

正确答案为:A

35.MVC中的MVC分别用___________________表示

A.jspservletjavabean

B.HTmljavabeanjsp

C.javabeanjspservlet

D.servlethtmljsp

正确答案为:C

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

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

显示"bob",则可以使用

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

B.{param.user}

C.{user}

D.{requestScope.user}

-----------------------Page13-----------------------

正确答案为: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.publicclassSecurityFilter__________________{

...

}

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

A.implementsHttpFilter

B.extendsFilter

C.extendsHttpFilter

D.implementsFilter

正确答案为:D

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

-----------------------Page14-----------------------

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.<%

Stringcount="100";

pageContext.setAttribute("cnt",count);

%>

Count:{pageScope.cnt100}显示为

A.100100

B.运行异常

C.200

D.没有任何显示

正确答案为:C

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

两项)

-----------------------Page15-----------------------

A.<filter>

B.<filter-mapping>

C.<servlet-filter>

D.<filter-config>

正确答案为:AB

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

A.AB

B.AB

C.113

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

正确答案为:D

45.JAVAEE中,假如HttpSessiongetLastAccessTime()方法返回值为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

-----------------------Page16-----------------------

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

A.doPost()

B.doStartTag()

C.doEndTag()

D.doAfterBody()

正确答案为:A

48.Jsp中有如下代码:

<%

Cookiec=newCookie(“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

-----------------------Page17-----------------------

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

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

publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException

{

System.out.println("get");

}

publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)

throwsServletException,IOException

{

System.out.println("post");

}

A.get

B.post

C.get

post

D.post

get

正确答案为:A

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

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

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

A.page

B.request

C.session

D.application

-----------------------Page18-----------------------

正确答案为: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,需要自己安装配置。

-----------------------Page19-----------------------

正确答案为: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

-----------------------Page20-----------------------

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作用域对象的说法错误的是

-----------------------Page21-----------------------

JavaWeb结课考试考试复习题

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

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

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

D.作用域范围从小到达是requestsessionapplication

正确答案为:C

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

<%

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

Integercount=request.getAttribute("count");

%>

<%=count%>

A.编译不通过

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

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

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

正确答案为:A

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

A.PrintWriterout=request.getWriter();

B.PrintWriterout=request.getPrintWriter();

C.PrintWriterout=response.getWriter();

D.PrintWriterout=response.getPrintWriter();

正确答案为:C

65.showgamej.jsp,代码如下

<%

-----------------------Page22-----------------------

JavaWeb结课考试考试复习题

Gamegame=request.getAttribute("gameEntity");

%>

<%=game.getGameName()%>

在浏览器中输入http://localhost:8080/game/showgame.jsp

访问时,出现500错误,报出异常为NullPointerException造成该问题的原因可能是:

A.jsp文件路径不对

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

C.getGameName()方法未定义

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

正确答案为:D

66.JSP中将数据传递给另一个JSPServlet,方式有____________

A.表单javascriptHTML标签

B.表单URL重写setAttribute方法

C.URL重写隐藏域表单

D.JSP的标签

正确答案为:B

67.在编写Servlet时需__________

A.继承Servlet

B.实现HttpRequestServlet

C.继承HttpServlet

D.实现HttpRequest

正确答案为:C

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

<%

-----------------------Page23-----------------------

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.如下代码,执行效果为()

-----------------------Page24-----------------------

<c:setvar=“a”value=“123”/>

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

<c:outvalue=“a”/>

A.123123

B.a123

C.123a

D.Aa

正确答案为: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.<%pageimport="c"%>

-----------------------Page25-----------------------

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

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

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

正确答案为:D

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

A.request对象的getAttribute()方法

B.request对象的getParameter()方法

C.session对象的getAttribute()方法

D.session对象的getParameter()方法

正确答案为:B

76.servlet中的doGetdoPost方法中只有如下代码:()

requestsetAttribute”jb””aPtech”);

responsesendRedirect”http://localhost:8080/servlet/Servlet2”);

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

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

B.Stringsir=(String)request.getAttribute(“jb”)

C.Objectstr=request.getAttribute(“jb“)

D.取不出来

正确答案为:D

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

如果没有,则返回null

A.getSession()

B.getSession(true)

C.getSession(false)

D.getSession(null)

-----------------------Page26-----------------------

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,ServletResponseresponse,FilterChain

chain)

B.dealFilter(ServletRequestrequest,ServletResponseresponse)

C.doFilter(ServletRequestrequest,ServletResponseresponse,FilterChain

chain)

D.doFilter(ServletRequestrequest,ServletResponseresponse)

正确答案为:C

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

out.println("HELLO");

-----------------------Page27-----------------------

JavaWeb结课考试考试复习题

out对象声明方法为:

A.PrintWriterout=response.getOut();

B.JspWriterout=pageContext.getOut();

C.JspWriterout=pageContext.getWriter();

D.PrintWriterout=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中有一段代码如下

publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)

-----------------------Page28-----------------------

throwsServletException,IOException{

request.setAttribute("name",newInteger(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:useBeanid="buffer"scope="page"type="java.lang.StringBuffer"/>

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

Bufferis<%=buffer%>

试图运行时,将发生()

A.编译期错误

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

C.运行Servlet时发生错误

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

正确答案为:A

86.<tag>

<name>message</name>

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

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

-----------------------Page29-----------------------

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.publicclassWriterimplementsTagSupport{(1)

protectedintdoStartTag(){SKIP_BODY}(2)

publicintdoEndTag(){returnEVAL_PAGE}(3)

}

有问题的语句是

A.23

B.3

C.123

D.12

正确答案为:D

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

-----------------------Page30-----------------------

JavaWeb结课考试考试复习题

A.UTF-8GBKZH23BIG5

B.ISO-8859-1MS950

C.UTF-8GBKGB2312BIG5

D.UTF-16ANSISQL

正确答案为: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组件共享每个客户

专用的

-----------------------Page31-----------------------

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:setPropertyname="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

-----------------------Page32-----------------------

JavaWeb结课考试考试复习题

D.delims

正确答案为:D

95.JAVAEE中,以下对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页面中,保存数据的范围由小到大依次是

-----------------------Page33-----------------------

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.编写ServletdoPost方法时,需要抛出异常为

A.ServletExceptionIOException

B.ServletExceptionRemoteException

C.HttpServletExceptionIOException

D.HttpServletExceptionRemoteException

正确答案为: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");

-----------------------Page34-----------------------

正确答案为:C

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

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

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

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

D.<jsp:useBeanname=”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">To2.jsp</a>

-----------------------Page35-----------------------

2.jsp

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

<jsp:forwardpage="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>

-----------------------Page36-----------------------

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.JAVAEE中,对于HttpServlet类的描述,错误的是

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

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

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

HttpServletRequestHttpServletResponse.

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

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

方法

正确答案为:A

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

javautil*包.正确的是

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

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

-----------------------Page37-----------------------

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:includepage=”test2.jsp”flush=”false”>

<jsp:paramname=”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代码片段,运行结果是()。

<%intx=5;%>

<%!intx=7;%>

<%!

-----------------------Page38-----------------------

IntgetX(){

returnx;

}

%>

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

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

A.X1=5X2=7

B.X1=5X2=5

C.X1=7X2=7

D.X1=7X2=5

正确答案为:A

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

A..jsp文件

B..class文件

C..jar文件

D.web.xml文件

正确答案为:C

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

PublicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throws

ServletException{

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

}

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

A.page

B.session

-----------------------Page39-----------------------

C.request

D.application

正确答案为:B

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

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

A.InterruptedExceptlon

B.AlreadyBoundExceptlon

C.SQLException

D.NetExcePtlon

正确答案为:C

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

<%

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

%>

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

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

</c:if>

A.a

B.svse

C.2>1

D.null

正确答案为:B

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

PublicvoiddoGet(HttpServletRequestrequest,HttpServletResponse

response)

-----------------------Page40-----------------------

throwsServletException,IOException{

______

out.println(“hikitty!”);

out.close();

}

运行次Servlet时输出如下:

hikitty!

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

A.PrintWriterout=response.getWriter();

B.PrintWriterout=request.getWriter();

C.OutputStreamout=response.getOutputStream();

D.OutputStreamout=request.getWriter();

正确答案为:A

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

A.applicationpagerequestresponse

B.sessionpageContextrequestapplication

C.publicapplicationsessionrequest

D.applicationsessionrequestpageContext

正确答案为:D

第119题.<%

Stringname=request.getAttribute("uname");

%>

________________________

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

A.response.print(name);

-----------------------Page41-----------------------

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

C.<%=name%>

D.<p>name</p>

正确答案为:C

第120题.在JAVAEE中,在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

-----------------------Page42-----------------------

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.JAVAEE中,标签库中文件(*.tld)存放在()目录下

A.WEB—INF

B.WEB—INF/tags

C.WEB—INF/classes

D.WEB—INF/lib

正确答案为:A

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

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

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

C.<%=user.loginName%>

D.<%user.loginName;%>

正确答案为:A

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

正确的是()

-----------------------Page43-----------------------

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文件

-----------------------Page44-----------------------

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>

-----------------------Page45-----------------------

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.{emptyparam.user?"Administrator":param.user}说法正确的是

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

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

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

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

正确答案为:B

-----------------------Page46-----------------------

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

A.<jsp:attribute/>

B.<jsp:forwards/>

C.<jsp:include/>

D.<jsp:useBean/>

正确答案为:B

二.简答题

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

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

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

到客户端。

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

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

都是相同的。

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

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

页面,代码如下:

<%@pageerrorPage=error.jsp%>

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

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

<%@pageisErrorPage=true%>

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

-----------------------Page47-----------------------

JavaWeb结课考试考试复习题

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

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

代码如下:

<%!

Stringblanknull(Strings){

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

}

%>

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

<inputtype=textname=shoesizevalue=<%=blanknull(shoesize)%>>

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

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

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

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

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

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

<%@pagesession=false>

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

当然可以,

HttpSessionsession=request.getSession(true);

session.putValue(variable,value);

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

-----------------------Page48-----------------------

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表单发出一个HTTPPOST请求时,doPost()方法被调用。与

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

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

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

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

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

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

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

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

(3)destroy()方法

-----------------------Page49-----------------------

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、JavaServlet的主要功能和作用是什么?

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

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

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

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

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

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

-----------------------Page50-----------------------

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

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

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

Servlet可

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

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

接,并将该连

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

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

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

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

用户。

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

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

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

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

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

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

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

实例

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

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

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

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

实例

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

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

getQueryString():获得查询字符串

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

-----------------------Page51-----------------------

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

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

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

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

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

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

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

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

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

2.使用提供有此服务的Applicationserver

3.自己写

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

使用PrintWriter对象,如:

<%@pageimport=java.io.*%>

<%

Stringstr=printme;

StringnameOfTextFile=/usr/anil/imp.txt;

try{

PrintWriterpw=newPrintWriter(newFile

OutputStream(nameOfTextFile));

pw.println(str);

pw.close();

}catch(IOExceptione){

out.println(e.getMessage());

}

%>

11、JSP的缺点?

-----------------------Page52-----------------------

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

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

3.Servlet引擎没有标准

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

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

<%

CookiekillMyCookie=newCookie(mycookie,null);

killMyCookie.setMaxAge(0);

killMyCookie.setPath(/);

response.addCookie(killMyCookie);

%>

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

<%@pageisThreadSafe=false%>

14、说出Servlet和CGI的区别?

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

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

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

15、Servlet的生命周期?

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

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

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

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

-----------------------Page53-----------------------

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

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

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

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

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

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

servlet接口中的主要方法有:

voidinit(ServletConfitconfig)throwsServletException在servlet被载入后和

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

则servle退出服务。

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

ServletConfig对象

voidservice(ServletRequestrequest,ServletResponseresponse)throws

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

返回请求结果

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

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

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

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

VoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throws

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

-----------------------Page54-----------------------

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

得。

VoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throws

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

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

获得。

VoiddoPut(HttpServletRequestrequest,HttpServletResponseresponse)throws

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

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

VoiddoDelete(HttpServletRequestrequest,HttpServletResponseresponse)throws

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

请求URI指出资源被删除。

VoiddoOptions(HttpServletRequestrequest,HttpServletResponseresponse)throws

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

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

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

VoiddoTrace(HttpServletRequestrequest,HttpServletResponseresponse)throws

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

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

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

Voidservice(HttpServletRequestrequest,HttpServletResponseresponse)throws

ServletException,IOExceptionService(Requestrequest,Responseresponse)调用

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

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

Voidservice(Requestrequest,Responseresponse)throws

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

定HTTP的service()方法。

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

-----------------------Page55-----------------------

a:两种形式dtdschema,

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

的根本目的)。

c:有DOM,SAX,STAX等

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

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

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

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

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

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

STAX:StreamingAPIforXML(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的区别?

-----------------------Page56-----------------------

8、JSP的常用指令?

9、jsp的四种范围

四、编程题

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

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

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

示错误信息。

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

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

步骤如下:

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

数据库名:“db_mails

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

字段列表:

字段名称数据类型

邮件IDint

邮件标题nvarchar

邮件内容nvarchar

邮件日期datetime

为表输入以下记录:


步骤二:

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

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




图6



4、完成登录功能

5、完成新闻发布系统