JavaWeb选择题修改版.docx
《JavaWeb选择题修改版.docx》由会员分享,可在线阅读,更多相关《JavaWeb选择题修改版.docx(15页珍藏版)》请在冰豆网上搜索。
JavaWeb选择题修改版
第一篇:
JavaWeb_选择题
PartA1.以下哪一个适合使用GET请求来发送?
(A)使用者名称、密码(B)检视论坛页面(C)信用卡资料(D)查询数据的分页答案:
B、D提示:
敏感性数据不应使用GET来发送。
论坛页面、数据分页可以使用GET,便于使用者设定为书签。
2.以下哪一个应该使用POST请求来发送?
(A)使用者名称、密码(B)档案上传
(C)搜寻引擎的结果画面(D)BLOG文件答案:
A、B、D提示:
敏感性数据、大量数据不应使用GET来发送。
搜寻引擎结果画面可以使用GET,便于使用者设定为书签。
3.HTTP哪个请求方式,请求参数会出现在网址列上?
(A)GET(B)POST答:
A
4.以下哪一个适合使用GET请求来发送?
(A)检视静态页面(B)查询商品数据(C)新增商品资料(D)删除商品数据
答案:
A、B提示:
这题在考等幂操作,不改变服务器状态的查询应使用GET。
5.以下哪一个应该使用POST请求来发送?
(A)查询商品数据(B)新增商品资料
1(C)更新商品数据
(D)删除商品数据答案:
B、C、D提示:
这题在考非等幂操作,会改变服务器状态的查询应使用POST。
6.以下哪一个是属于客户端执行的程序?
(A)JSP(B)JavaScript(C)Servlet(D)Applet答案:
B、D
7.Servlet/JSP主要是属于哪个Java平台的规范之中?
(A)JavaSE(B)JavaME(C)JavaEE答:
C
8.Servlet/JSP必须基于哪一类型的容器才能提供服务?
(A)Applet容器(B)应用程序客户端容器(C)Web容器(D)EJB容器答:
C
9.Web容器在收到浏览器请求时,会如何处理请求?
(A)使用单一执行绪处理所有请求
(B)一个请求就建立一个执行绪来处理请求(C)一个请求就建立一个行程来处理请求(D)一个请求就执行一个容器来处理请求答:
B
10.JavaEE中各技术标准最后将由什么文件明订规范?
(A)JCP(B)JSR(C)JDK答:
B提示:
JCP是组织名称。
JDK是Java开发工具箱名称。
2PartB1.若要针对HTTP请求撰写Servlet类别,以下哪一个是正确的作法?
(A)实作Servlet界面(B)继承GenericServlet(C)继承HttpServlet(D)直接定义一个结尾名称为Servlet的类别答案:
C
2.续上题,如何针对HTTP的GET请求进行处理与响应?
(A)重新定义service()方法(B)重新定义doGet()方法
(C)定义一个方法名称为doService()(D)定义一个方法名称为get()答案:
B提示:
不建议也不应重新定义HttpServlet所继承下来的service()方法。
3.HttpServlet是定义在哪个套件之中?
(A)javax.servlet(B)javax.servlet.http(C)java.http(D)javax.http答案:
C提示:
与Servlet定义相关的类别或接口都位于javax.servlet套件之中,像是Servlet、GenericServlet、ServletRequest、ServletResponse等。
与HTTP定义相关的类别或接口都位于javax.servlet.http套件之中,像是HttpServlet、HttpServletRequest、HttpServletResponse等。
4.你在web.xml中定义了以下的内容:
Goodbyecc.openhome.LogutServletGoodBye/goodbye3哪个URL可以正确的要求Servlet进行请求处理?
(A)(B)(C)(D)答案:
D/GoodBye/goodbye.do/LoguotServlet/goodbye
5.在Web容器中,以下哪两个类别的实例分别代表HTTP请求与响应对象?
(A)HttpRequest(B)HttpServletRequest(C)HttpServletResponse(D)HttpPrintWriter答案:
B、C
6.在Web应用程序中,哪一个负责将HTTP请求转换为HttpServletRequest对象内容?
(A)Servlet对象内容(B)HTTP服务器(C)Web容器(D)JSP网页答案:
C
7.在Web中?
(A)(B)(C)(D)答案:
A应用程序的档案与目录结构中,web.xml是直接放置在哪个目录之WEB-INF目录conf目录lib目录
classes目录
8.你在web.xml中定义了以下的内容:
HelloServletcc.openhome.HelloServletHelloServlet/hello4
这个web.xml中的定义有哪些错误?
(A)标签中的设定一定要用.do作结尾
(B)标签应改为,结尾标签名称也要修改
(C)标签应改为,结尾标签名称也要修改
(D)标签应改为,结尾标签名称也要修改
答案:
B、C提示:
可以无需.do结尾,也可以用万用字符(wildcard),例如*.do将会让所有以.do结尾的请求由该Servlet进行处理。
9.在MVC架构中,谁负责通知应用程序客户端,应用程序本身有状态改变?
(A)模型(Model)(B)视图(View)
(C)控制器(Controller)答案:
A
10.MVC与Model2架构最大的差别在于?
(A)Model2架构的视图是由HTML组成
(B)Model2架构中的模型无法通知视图状态已更新(C)MVC架构是基于请求/响应模型(D)MVC架构只能用于单机应用程序答案:
B提示:
Model2架构中呈现视图的技术并没有限制。
MVC架构也可以应用于3-tier的网络架构中,其中模型通知视图时,可以透过Socket联机来进行。
5PartC1.以下的空格应该填入哪个方法?
response.setContentType("text/html;charset=UTF-8");PrintWriterout=response.____________;out.println("");...(A)(B)(C)(D)答案:
BgetPrintWriter()getWriter()getBufferedWriter()getOutputWriter()
2.请问以下的Servlet程序片段输出结果为何?
out.println("第一个Servlet程序");out.flush();request.getRequestDispatcher("message.jsp").forward(request,response);out.println("Hello!
World!
");(A)显示"第一个Servlet程序"后转发message.jsp
(B)显示"第一个Servlet程序"与"Hello!
World!
"(C)直接转发给message.jsp进行响应(D)丢出IllegalStateException答案:
A提示:
在flush()之后响应已确认,此时再forward()就会发生IllegalStateException。
3.你将secret.jsp档案放在WEB-INF目录中,哪个方式或程序片段可以正确让secret.jsp进行响应?
(A)使用浏览器请求/WEB-INF/secret.jsp(B)request.getRequestDispatcher("/WEB-INF/secret.jsp")并进行forward()(C)使用response.sendRedirect("/WEB-INF/secret.jsp")(D)使用response.sendError("/WEB-INF/secret.jsp")答案:
B4.如果想知道使用者所使用的浏览器版本等相关讯息,可以执行哪一段程序代码:
(A)request.getHeaderParameter("User-Agent")
6(B)request.getParameter("User-Agent")(C)request.getHeader("User-Agent")(D)request.getRequestHeader("User-Agent")答案:
C
5.如果想取得输出串流对象对浏览器输出位数据,应该撰写哪一段程序代码?
(A)ResponseStreamout=response.getResponseStream();(B)ResponseStreamout=response.getStream();
(C)ResponseStreamout=response.getOutputStream();
(D)ServletOutputStreamout=response.getOutputStream();答案:
D
6.哪几个程序代码可以取得password请求参数的值?
(A)request.getParameter("password");(B)request.getParameters("password")[0];(C)request.getParameterValues("password")[0];(D)request.getRequestParameter("password");答案:
A、C提示:
getParameterValues()会用字符串数组传回指定的请求参数值,如果请求参数只有一个值,则透过指定索引值0也可取得该值。
7.下面这个程序代码片段会输出什么结果?
PrintWriterwriter=response.getWriter();writer.println("第一个Servlet程序");OutputStreamstream=response.getOutputStream();stream.println("第一个Servlet程序".getBytes());(A)(B)(C)(D)浏览器会看到两段"第一个Servlet程序"的文字浏览器会看到一段"第一个Servlet程序"的文字丢出IllegalStateException由于没有正确地设定内容类型(content-type),浏览器会提示另存新档
答案:
C提示:
同一个请求周期中,HttpServletResponse的getWriter()与getOutputStream()只能择一使用,否则会丢出IllegalStateException。
8.如果要设置响应的内容类型标头,哪几个选项是正确的作法?
(A)response.setHeader("Content-Type","text/html");(B)response.setContentType("text/html");
7(C)response.addHeader("Content-Type","text/html");(D)response.setContentHeader("text/html");答案:
A、B、C
9.下面哪个选项,可以正确地追加自订标头"MyHead"的值?
(A)(B)(C)(D)答案:
Cresponse.setHeader("MyHeader","Value2");response.appendHeader("MyHeader","Value2");response.addHeader("MyHeader","Value2");response.insertHeader("MyHeader","Value2");
10.哪几个方法是定义在HttpServletRequest中,而非由ServletRequet中继承而来?
(A)getMethod()(B)getHeader()(C)getParameter()(D)getCookies()答案:
A、B、C提示:
与HTTP请求有关的方法,是定义在HttpServletRequest中,与通用请求有关的,是定义在ServletRequest中,例如getParameter()。
8PartD1.如果是整个应用程序会共享的数据,则适合存放在哪个对象之中成为属性?
(A)
(B)(C)(D)答案:
BServletConfigServletContextServletRequestSession
2.如果要取得ServletContext初始参数,则可以执行哪个方法?
(A)(B)(C)(D)答案:
CgetContextParameter()getParameter()getInitParameter()getAttribute()
3.假设一段程序代码如下,其中PARAM为设定于web.xml中的初始参数:
publicclassSomeServletextendsHttpServlet{privateStringparam;publicSomeServlet(){param=getInitParameter("PARAM");}…}以下哪一个正确?
(A)param被设定为web.xml中的初始参数值(B)无法通过编译
(C)应该改用getServletParameter()方法(D)发生NullPointerException答案:
D提示:
getInitParameter()也是透过ServletConfig来取得初始参数,在建构式执行时,由于尚未进行Servlet初始化,ServletConfig尚未经由init()方法传入Servlet之中,所以建构式中尝试取得初始参数时就会发生NullPointerException。
4.继承HttpServlet之后,若要进行Servlet初始化,重新定义哪个方法才是正确的作法?
9(A)publicvoidinit(ServletConfigconfig)throwsServletException;(B)publicvoidinit()throwsServletException(C)publicStringgetInitParameter(Stringname)(D)publicEnumerationgetInitParameterNames()答案:
B
5.关于ServletContext初始参数,以下哪两项是web.xml中正确的设定?
(A)PARAMVALUE(B)PARAMVALUE(C)PARAM1VALUE1PARAM1VALUE1(D)PARAM1VALUE1PARAM2VALUE2答案:
B、D
6.若要读取WEB-INF/data.txt档案的数据,以下哪个是正确的作法?
(A)FileInputStreaminput=newFileInputStream("/WEB-INF/data.txt");(B)FileInputStreaminput=newFileInputStream(newFile("/WEB-INF/data.txt"));(C)InputStreaminput=
10getResourceAsStream("/WEB-INF/data.txt");(D)FileInputStreaminput=getResourceAsStream("/WEB-INF/data.txt");答案:
C
7.ServletContext定义与属性相关的方法是哪三个?
(A)getAttribute();(B)setAttribute();(C)deleteAttribute()(D)removeAttribute();答案:
A、B、D
8.若web.xml中有以下的设定:
Somecc.openhome.SomeServletparam11param22而某个Servlet撰写了以下的程序代码:
publicvoidinit()throwsServletException{super.init();intparam1=getInitParameter("param1");intparam2=getInitParameter("param2");}以下哪一个描述正确?
(A)第二对、可以直接撰写在第一个之中
(B)param1的值为1,param2的值为1(C)应该在建构式中进行初始参数的取得(D)Servlet类别原始档无法通过编译答案:
D
11提示:
getInitParameter()取得的是字符串。
9.哪几个对象提供有getAttribute()方法?
(A)ServletRequest(B)HttpServlet(C)ServletConfig(D)ServletContext答案:
A、D提示:
事实上还有一个,HttpSession对象。
只不过到本章还没介绍到HttpSession的使用。
10.在web.xml中有以下的设定:
…
cc.openhome.SomeListener...以下哪一个正确?
(A)SomeListener类别要实作ServletContextListener接口(B)每生成一个Servlet实例就会呼叫ServletContextListener的init()方法
(C)Web应用程序初始化之后,会呼叫ServletContextListener的contextInitialized()方法
(D)不需要这个标签答案:
A、C
12PartEl选择题
1.在浏览器禁用Cookie的情况下,哪些机制仍可以用于会话管理?
(A)HttpSession(B)URL重写(C)隐藏字段(D)CookieAPI答案:
B、C
2.如何设定Cookie的有效期限?
(A)使用setMaxAge()(B)使用setMaxInactive()(C)使用setMaxInactiveInterval()(D)在web.xml中设定答案:
A
3.web.xml中的设定单位是?
(A)(B)(C)(D)答案:
B时分秒毫秒
4.哪一个可以实作使用者的自动登入机制?
(A)(B)(C)(D)答案:
BHttpSessionCookieHttpServletRequestURL重写
5.关于HttpSession的setMaxInactiveInterval()方法,以下描述哪一个错误?
(A)设定的单位是「分」
(B)用来设定HttpSession在浏览器多久没活动后失效(C)用来设定Cookie的失效时间
13(D)会覆盖web.xml中的设定答案:
A、C
6.关于HttpSession的描述,以下哪一个错误?
(A)关闭浏览器后HttpSession就会被回收(B)可以执行invalidate()使之失效
(C)不同的浏览器使用相同的SessionID,也会取得不同的HttpSession对象
(D)HttpSession的setMaxInactiveInterval()方法设定为-1将永不失效
答案:
A、C提示:
关闭浏览器后立即失效的是储存SessionID的Cookie,不是HttpSession对象。
7.哪几个对象提供有setAttribute()方法?
(A)ServletRequest(B)HttpSession(C)ServletConfig(D)ServletContext答案:
A、B、D
8.关于Servlet/JSP的SessionID,哪一个正确?
(A)预设使用Cookie来储存SessionID(B)Cookie的名称是JSESSIONID(C)在禁用Cookie时,可以使用URL重写来发送SessionID(D)必须自行呼叫HttpSession的getId()方可产生答案:
A、C提示:
SessionID的Cookie名称是厂商各自实作的,JSESSIONID在Tomcat上的实作名称。
容器会自动帮你产生SessionID。
9.哪几个对象的属性设定可以跨越请求范围?
(A)(B)(C)(D)答案:
B、DServletRequestHttpSessionServletConfigServletContext
10.HttpSession失效的时机为何?
14(A)执行invaliate()方法
(B)下次请求超过web.xml中的设定时间(C)存活时间超过setMaxInactiveInterval()方法设定的时间(D)关闭浏览器答案:
A、B提示:
无论是或setMaxInactiveInterval()所设定的时间,都是指浏览器没有再次请求活动的时间,而不是指HttpSession本身的存活时间。
15PartF1.关于过滤器的描述,以下哪一个正确?
(A)Filter接口定义了init()、service()与destroy()方法(B)会传入ServletRequest与ServletResponse至Filter(C)要执行下一个过滤器,必须执行FilterChaing的next()方法(D)如果要取得初始参数,要使用FilterConfig对象内容答案:
B、D
2.关于以下web.xml的设定:
SecurityFiltercc.openhome.SecurityFilterSecurityFilter*.doUSERcaterpillarPASSWORD123456以下描述哪一个正确?
(A)根据,过滤器会套用在所有以.do结尾的URL请求
(B)可以透过FilterConfig来读取USER与PASSWORD初始参数(C)初始参数设定位置错误,等标签应放在标签之中
(D)应改为才是正确设定答案:
A、C提示:
由于初始参数的设定错误,无法透过FilterConfig取得初始参数。
3.关于以下的web.xml设定:
SecurityFilter16/add.doSecurityFilter*.viewCharacterFilter/add.do以下描述哪一个正确?
(A)当请求add.do时,只会套用SecurityFilter(B)当请求add.do时,过滤器的执行顺序为SecurityFilter、Characte