老师给的复习题。下周考试。仅供参考。
一、选择题
第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题.在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题.给定一个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”);
-----------------------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.HttpServletRequest、getSession
B.HttpServletResponse、newSession
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中,假如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
-----------------------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.作用域范围从小到达是request、session、application
正确答案为: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中将数据传递给另一个JSP或Servlet,方式有____________
A.表单javascriptHTML标签
B.表单URL重写setAttribute方法
C.URL重写隐藏域表单
D.JSP的标签
正确答案为:B
第67题.在编写Servlet时需__________
A.继承Servlet
B.实现HttpRequestServlet
C.继承HttpServlet
D.实现HttpRequest
正确答案为:C
第68题.现在session中没有任何属性,阅读下面2个JSP中的代码,将分别输出()。
<%
-----------------------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中的doGet和doPost方法中只有如下代码:()
request.setAttribute(”jb”,”aPtech”);
response.sendRedirect(”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题.编写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");
-----------------------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类中处理客户请求和响应时所使用的两个接口是:
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.*”%”>
-----------------------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=”text”name=”shoesize”value=”<%=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、完成新闻发布系统