java web考试复习题库2

更新时间:2024-06-21 22:47:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Java Web试题 JAVA WEB部分:

1. 基于HTTP协议的Servlet通常继承__C______, 也可以继承__B______。这些类型都实现了接口___A_____。

A. javax.servlet.Servlet B. javax.servlet.GenericServlet C. javax.servlet.http.HttpServlet

2. 我们实现的基于HTTP协议的Servlet的服务方法签名正确的有__ BCD_____________。

A. public void doGet(ServletRequest req, ServletResponse res) throws IOException, ServletException

B. public void doPost(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException

C. public void service(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException

D. public void service(ServletRequest req, ServletResponse res) throws IOException, ServletException

重写服务方法,一般是以下两种方式:

doGet(HttpServletRequest req,HttpServletResponse res) doPost(HttpServletRequest req,HttpServletResqonse res)

HttpServlet继承自GenericServlet,其中的service方法自动实现; GenericServlet的调用方法: 容器

-->service(ServletRequest req,ServletResponse res)

-->service(HttpServletRequest req,HttpServletResponse res)

-->METHOD=\-->METHOD=\

API中有D这个方法

3. 在Servlet中要输出内容,使用HttpServletResponse的方法_setContentType 设置内容,对于文本类型调用方法__ getWriter _获得一个___ PrintWriter ___的输出流, 对于二进制类型调用_ getOutputStream 获得_ ServeltOutputStream _的输出流。调用HttpServletRequest的方法_ getParameter 解析有名参数,调用_ getInputStream 获得一个_ ServletInputStream _的输入流。在Servlet中也可以调用_ ServletContext 和_ HttpServletRequest _的方法_ getRequestDispatcher __获得__ RequestDispatcher __, 将请求的处理权交给一个新的资源。 A. ServletInputStream B. ServletContext C. HttpServletRequest D. setContentType E. getInputStream F. getOutputStream G. getRequestDispatcher H. RequestDispatcher I. getParameter J. ServeltOutputStream K. getWriter L. PrintWriter

4. 控制一个Servlet的生命周期的方法有__C______, _____B___和____A____。其中

1

___C_____在所有的请求到来之前调用,____A____在撤消应用或关闭web container时调用。Servlet通常只有一个实例,被所有的访问者共享,因此要注意资源的同步。 A. destroy B. service C. init

5. 以下是部署在主机www.briup.com 80口上的web应用webdev的部署描述文件web.xml的一部分: ?

accountServlet

com.tarena.account.AccountServlet //配置初始化参数

interestRate 0.012

accountServlet /account/*

一个客户在浏览器的地址栏输入了如下URL:

http://www.briup.com/webdev/account/deposit?accno=1212&amt=1000

调用____G_HttpServlet___或_____E_Servletconfig__的方法____F__getInitParameter__可以获得初始参数interestRate的值。在accountServlet中调用HttpServletRequest的getRequestURI返回___H__/webdev/account/deposit___, 调用getQueryString返回____B_ accno=1212&amt=1000___,调用getContextPath返回___A__ /webdev___, 调用getServletPath返回______C_/account_,调用getPathInfo返回___D__/deposit ___。 A. /webdev B. accno=1212&amt=1000 C. /account

D. /deposit E. Servletconfig F. getInitParameter G. HttpServlet H. /webdev/account/deposit

6. 在Java Web开发中,跟踪客户状态的手段可通过__B__ Session____和___F__Cookie ___; 增加一个新的cookie, 调用___E_HttpServletResponse____的___C__ addCookie___方法;要在服务器端查询cookie, __A_HttpServletRequest__的_D_getCookies方法。Session的类型是_H__HttpSession__, 获得session的途径是调用_A_HttpServletRequest__的方法_G__getSession___。

A. HttpServletRequest B. Session C. addCookie D. getCookies E. HttpServletResponse F. Cookie G. getSession H. HttpSession

7. 将session与浏览器联系起来的手段有Cookie和URL rewriting, 所用Cookie变量却省为__B______, URL rewriting的却省参数是_____A___。URL rewriting通过调用HttpServletResponse的___D_____重写重定向资源,调用__C______重写一般资源。 A. jsessionid B. JSESSIONID C. encodeURL D. encodeRedirectURL

URL重写:服务器在响应之后返回的url后加一个jsessionid

2

8. Java Web应用中往往通过设置不同作用域的属性来达到通讯的目的。如果某个对象只在同一请求中共享,通过调用_B__HttpServletRequest___的setAttribute方法设置属性, 也可通过_C_ServletRequestListener___事件侦听器实现;如果在不同的请求中传递某一客户的状态,调用_A__HttpSession__的setAttribute方法设置属性,也可通过_F_HttpSessionListener___事件侦听器实现;如果某个对象被所有的访问者共享,把这个对象设置为_D__ServletContext___的属性即可,也可通过_E__ ServletContextListener___事件侦听器实现。

A. HttpSession B. HttpServletRequest C. ServletRequestListener D. ServletContext E. ServletContextListener F. HttpSessionListener

9. Filter必须实现接口__I__Filter__, 它只有一个实例,控制生命周期的方法是_F_init___,__G__doFilter__和_H_destroy____; 在提供服务之前被调用方法的参数类型是_J_FilterConfig(init的参数)___;服务方法的参数类型是_B__ServletRequest___,__C_ServletResponse__和_A_FilterChain_。如果要截取请求,我们会提供_E__HttpServletRequestWrapper___类型的封装类;如果截取应答,我们会提供__D_HttpServletResponseWrapper__类型的封装类,截取应答的标志是在调用_A_ FilterChain___类型对象的_G__doFilter __方法后继续有代码处理应答。 A. FilterChain B. ServletRequest C.ServletResponse D.HttpServletResponseWrapper E. HttpServletRequestWrapper F. init G. doFilter H. destroy I. Filter J. FilterConfig(init的参数)

10. 以下JSP代码属于指令directive的有__BGK__;属于表达式(expression)的有_AH_______;属于申明(declaration)的有__F______;属于脚本程序(scripleting)的有_EJ_______;属于action的有_CDI_______。 A. <%=12%>

B. <%@include file=”header.html”%> C.

D. E. <% int i = 10; %> F. <%! int i = 10; %>

G. < %@taglib uri=”http://java.sun.com/jstl/core” prefix=”c”%> H. <%=new java.util.Date()%>

I. J. <% response.sendRedirect(“http://www.tarena.com”); %> K. <%@page contentType=”text/html; charset=gb2312”%>

11. 在directive page中,__B______属性可反复出现, ___AC_____属性的却省值为true, ____E____属性的值指向处理异常的页面,______D__表示激活EL。 A. autoFlush B. import C. session D.isELIgnored=false E. errorPage

jsp的page指令(directive)

jsp的page指令(directive)影响着由JSP页面生成的Servlet的整体结构!page指令的功能包括

3

(1)类的导入(2)Servlet父类的制定(3)内容类型的设置(4)页面会话的设置(5)页面缓冲的设置

(6)错误页面的设置(7)控制线程行为

page属性(attribute)值的两边的双引号也可以用单引号代替,单引号不能省略,若属性值本身含有引号,则在它们之前加上反斜杠来转义。

page 的几个重要的指令:1.import 唯一的一个允许多次出现的attirbute. 默认情况下有以下几个是自动导入的包,java.lang.*; java.servelt.*; javax.servlet.jsp.*; javax.servlet.http.*! 2.pageEncoding用来单独设置页面的字符集。%@page pageEncoding=\3.contentType设置响应报头标明发送到客户端的MIME类型和页面字符集! <%@ page contentType=\

4.session 属性控制页面的会话特性!%@page session=\ 默认值为true. 5.buffer 和 autoFlush 属性

buffer 设置缓冲区的大小 <%@ page buffer=\

autoFlush 当缓冲区满后自动清空!%@page autoFlush=\ 默认值为true,为false时会抛出一个异常。

6. errorPage 和isErrorPage (attribute)

<%@page errorPage=\\指定一个页面处理当前页面抛出但未捕获的异常对象。

%@page isErrorPage=\表明当前页面是否可以作为其他jsp页面的错误页面 。可以将此页面放在WEB-INF目录中,有助于提高程序的安全性。

1、<%@ page buffer=\2、buffer=\

buffer的大小被out对象用于处理执行后的JSP对客户浏览器的输出。缺省值是8kb 3、autoFlush=\

设置如果buffer溢出,是否需要强制输出,如果其值被定义为true(缺省值),输出正常,如果它被设置为false,如果这个buffer溢出,就会导致一个意外错误的发生.如果你把buffer设置为none,那么你就不能把autoFlush设置为false.

12. 有一个JavaBean com.briup.Student, 在JSP中用action在session作用域里创建一个对象hellen的语句是_______。

什么是JavaBean?(参见文档)

13. 以下_ABCD_______是JSP中正确的注释:

A. <%--comments--%> 真正的注释 B. <% //comments %>

C. 会写在页面当中 D. <%! /* comments */ %> JAVA中的单行和多行注释

14. 以下__AB______是错误的:

A. <%! int i = 10; int j = 10; i += j; %>

B. <% int getHash(String str) { return str.hashCode(); } %> 声明脚本 C. <%! class A { void print(){System.out.println(“in A”);}} %>

4

15. 在JSP中有很多隐含变量,request的类型是C_javax.servlet.http.HttpServletRequest______, response的类型是_I__javax.servlet.http.HttpServletResponse__, page的类型是__E__javax.servelet.jsp.JspPage_,pageContext的类型是__B__javax.servlet.jsp.PageContext____, session的类型是_D__javax.servlet.http.HttpSession_____, application的类型是____G__ javax.servlet.ServletContext__, config的类型是__F_javax.servlet.ServletConfig_, out的类型是_H__ javax.servlet.jsp.JspWriter_____, exception的类型是___A__java.lang.Throwable___。 A. java.lang.Throwable B. javax.servlet.jsp.PageContext C.javax.servlet.http.HttpServletRequest D. javax.servlet.http.HttpSession

E. javax.servelet.jsp.JspPage F. javax.servlet.ServletConfig G. javax.servlet.ServletContext H. javax.servlet.jsp.JspWriter I.javax.servlet.http.HttpServletResponse

参见PDF97页

16. JSP在处理客户请求前会被编译成servlet, JSP中declaration中定义的变量和方法在运行时成为对应servlet的___B_____变量和方法; scripting会成为服务方法____C____的语句。JSP的生命周期受到____A____,___C_____和___D_____的控制。 A. jspInit B. member C. _jspService D. jspDestroy

调出一个编译后的JSP文件给学生看

D:\\JAVA\\Tomcat-5.5.25\\work\\Catalina\\localhost\\RunCommunity\\org\\apache\\jsp\\pages

17. 在web应用webdev的WEB-INF的目录下有一个标签库描述文件sample.tld, 其内容部分如下:

hello

com.tarena.tags.HelloTag empty

user

true

false java.lang.String

在hello.jsp中要使用标签hello, 因此必须先引入该标签库,语句是__<%@taglib uri=”/WEB-INF/sample.tld” prefix=”s”%>_____。要用hello标签在页面上给”world“打招呼的语句是________________。

18. 在web应用webdev的WEB-INF/tags目录下放置了一些标签文件,用前缀”me”引入这些标签到一个jsp的 directive taglib的表达式是___<%@taglib tagdir=”/WEB-INF/tags” prefix=”me”%>__。

19. 一个没有body的标签其tag handler要实现接口__C______;如果某个标签有body, 但

5

标签不与body交互,tag handler要实现接口___E_____, 如果要与body交互,tag handler要实现接口____D____。通常前两种情况的tag handler会继承___A_____, 最后一种情况tag handler会继承_____B___。

A. javax.servlet.jsp.tagext.TagSupport B. javax.servlet.jsp.tagext.BodyTagSupport C. javax.servlet.jsp.tagext.Tag

D. javax.servlet.jsp.tagext.BodyTag E. javax.servlet.jsp.tagext.IterationTag

20. 在EL中以下____B____可以获得requestURI: A. ${requestScope.request.requestURI} B. ${pageContext.request.requestURI} C. ${requestScope.requestURI}

21. EL中可使用一些隐含对象,通过____C____可以访问request中的属性(attriubte), 通过___A_____可以访问session中的属性, 通过___B_____可以访问application中的属性, 通过___D_____可以访问浏览器输入的参数,通过____G____可以访问请求头中的参数,通过____E____可以访问web应用的参数,通过____F____可以访问cookie。 A. sessionScope B. applicationScope C. requestScope D. param E. initParam F. cookie G. header

22. 在EL中能够访问的函数(function)必须是_____A___。

A. public static B. protected C. protected static D. public static void F. protected static void

23. 在EL中访问JavaBean Student的对象smallTank的属性name正确的是__ABC______。 A. ${smallTank.name} B. ${smallTank[?name?]} C. ${smallTank[“name”]} D. ${smallTank(?name?)}

SESSION AAA=”aa”

APPLICATION(aa=”hhhh”)

applicationScope['aa'] 此种情况只能用方括号

24. Struts提供MVC的一个实现,是Java Web应用的一个框架(Framework). 它主要采用了____D____模式。浏览器请求被控制器servlet ___A_____截取,控制器将浏览器表单的输入封装到____F____类型的JavaBean对象中,如果应用需要作合法性检测,该类型的____G____方法会被调用,该方法的返回类型是_____B___。如果合法性检测正确,控制器会将调用类型为____H____对象的方法__E______处理请求,该方法返回类型为____C____。 A. org.apache.struts.action.ActionServlet B. org.apache.struts.action.ActionErrors C. org.apache.struts.action.ActionForward D. command E. execute

F. org.apache.struts.action.ActionForm G. validate

H. org.apache.struts.action.Action

25. 使用Tomcat,我们通常会设置环境变量_C_ CATALINA_HOME_指向安装目录; web应

6

用的却省部署目录在安装目录下的___A__webapps___子目录;如果有多个web应用共享的包如数据库驱动程序,我们应该将其放置在安装目录的__D__common/lib__子目录;Tomcat的主要配置文件是安装目录下__B_conf _子目录下的___F__server.xml___;Tomcat 5的应用相关的配置文件放在安装目录下___E__conf/Catalina/___子目录。 A. webapps B. conf C. CATALINA_HOME D. common/lib E. conf/Catalina/ F. server.xml

7

本文来源:https://www.bwwdw.com/article/yqh3.html

Top