《JavaWeb试卷三》一、单项选择题(每题2分,共30分)1.以下哪个方法不是Servlet的生命周期接口定义的(D)A、init()B、service()C、destroy()D、create()2、以下从四种不同的作用域中得到Bean的实例,说法错误的是(A )A、page是指当前Web应用程序的所有JSP文件中取得实例,从Page 对象中获取JavaBean;B、 request是指在当前的用户请求中取得实例,从ServletRequest对象中获取JavaBean ;C、 session是指在当前的用户会话中取得实例,常用于一个用户登录在网站上全过程不同请求之间共享数据,从HttpSession对象中获取JavaBean ;D、 application是指在当前的应用程序中取得实例,常用于同一个应用程序不同用户访问时共享数据,从ServletContext对象中获取JavaBean 。
3、以下有关Servlet常用的请求头的含义说法错误的是(D)A、Accept-Language头指出客户端倾向的语言。
如en。
B、Content-Length头以字节为单位给出POST数据的长度。
C、Host表明了主机和端口。
D、User-Agent头表明了发出请求的客户代理的信息。
4.以下哪个不是JSP标记库的构成部分(C)A、标记处理器B、标记库描述文件C、标记库处理servletD、应用程序部署描述符(web.xml)5.给定程序片段:<%--在此处插入代码--%> <html> <body>Today is: <%= new Date() %> </body> </html>为了能够让程序正确运行需要在第一行添加以下那条语句? AA、<%@ page import='java.util.Date' %>B、<%@ import class='java.util.Date' %>C、<%@ include file='java.util.Date' %>D、<%@ include class='java.util.Date' %>6.以下那一个是HttpSession的方法、并能实现在session中存放数据(C)A、put(String name,Object value)B、set(String name, Object value)C、setAttribute(String name,Object value)D、putAttribute(String name, Object value)7.下列哪一个不是Web服务器端技术(B)A、 ASPB、 HTMLC、 JSPD、 SERVLET8.J2EE架构中使用HTML界面、Jsp界面实现用户界面,使用(D)实现业务逻辑。
A、 JspxB、 ServletC、 JavaScriptD、 EJB 9.(D )是一组Java应用接口,它提供创建、发送、接收、读取消息服务。
A、JTAB、JNDIC、JCAD、JMS10.Servlet类放置的位置是(D)A、 WEB-INF/libB、WEB-INF/servletC、WEB-INF/webD、WEB-INF/classes11.一个client访问同一个servlet(打开两个浏览器窗口),则访问(A)对象是相同的。
A、ServletConfigB、ServletRequestC、ServletResponse D ServletRequestDispathcer 12.Cookie的使用期限默认值是(B )A、0B、-1C、1D、-213.session对象中invalidate方法的含义是(A )A、使用session无效B、获得session对象的生存时间C、获得当前session对象最后一次被操作时间D、以上都不对14.下列动作标签中哪一个是用于重定向一个HTML文件。
(C)A、<jsp:useBean> B、<jsp:include>C、<jsp:forword>D、<jsp:plugin>15.对于给定的JSP错误处理页面,下面那一个隐含对象能够指向未捕获的异常(B)A、ErrorB、exceptionC、ThrowableD、Request error二、多项选择题(每题3分,共15分)1.以下HTTP响应状态码的含义描述正确的是?(AD)A、200 OK 表示请求成功B、400 不良请求表示服务器未发现与请求URI匹配的内容。
C、404 未发现表示由于语法错误而导致服务器无法理解请求信息D、500 内部服务器错误,无法处理请求2.MVC模式的优势有哪些?(ACD )A、MVC模式使应用程序的结构更加清晰,通过将代码按照层次划分为业务逻辑/数据层、用户界面和应用流程控制这三个层次,能够增强代码的稳定性。
B、 MVC模式实现了很好的分布式组件架构;C、对于项目开发而言,MVC三层的分离有利于在项目小组内按照小组成员各自的擅长进行分工,有利于三个部分并行开发、加快项目进度。
D、 MVC模块功能的划分有利于在代码修改过程中进行模块的隔离,而不需要把具有不同功能的代码混杂在一起造成混乱。
3.J2EE打包与部署的模块包括以下哪些?(ACD )A、Web 模块和EJB 模块.B、EAR模块C、应用程序客户端模块D、资源适配器模块E、XML模块4.在Servlet中使用硬编码的HTML输出作为请求的响应具有哪些严重缺陷?(ABC )A、很难对HTML做出修改,因为每次修改都必须重新编译Servlet。
B、由于HTML是硬编码的,所以维护不同的语言很困难。
判断用户的语言、所处的地区以及其他变化情况,然后再显示输出非常困难。
C、当在Servlet中混合使用HTML和Java代码时,就很难分清页面设计和编程的职责。
D、很难做出动态的相应。
5.以下Servlet与CGI的对比正确的是?(CD)A、在可移植性和与平台无关性方面:Servlet和CGI都能够跨平台和不同的Web服务器交互B、几乎所有的主流服务器都直接或通过插件支持CGI。
C、从持久性和性能上讲,传统的CGI对于每个HTTP请求都要启动一个新进程。
而Servlet 只要被Web服务器装载一次,就能被每一个客户请求调用。
因此Servlet比CGI性能更高。
D、Servlet是用java编写的,它继承了Java语言的所有优点。
Servlet 可以利用丰富的Java库。
三、简答题(每题5分,共25分)1.一个Jsp页面可由哪些元素组成?答:1)普通的Html标志符2)变量和方法的声明3)变量和方法的声明4)Java程序片5)Java表达式2.include指令标签和动作标签有什么区别?答:1)形式不同:include 静态标签语法格式为:<%@ include file=“文件的名字” %><jsp:include page=“文件的名字”></jsp:include>2)作用不同:如果一个Jsp页面使用include指令插入另一个Jsp文件,被插入的这个Jsp页面中有一个设置页面ContentType属性的page指令。
include 动作标签告诉jsp页面包含一个文件。
当Jsp引擎把Jsp 页面转译成Java文件时候,告诉Java解释器,这个文件在Jsp运行时候才能包含进来。
3.简述获得Request Dispatcher对象的三种方法。
1).javax.servlet. ServletRequest的getRequestDispatcher(String path)方法,其中path可以是相对路径,但不能越出当前Servlet上下文。
如果path以"/"开头,则解析为相对于当前上下文的根。
2).javax.servlet. ServletContext的getRequestDispatcher(String path)方法,其中path必须以"/"开头,路径相对于当前的Servlet上下文。
可以调用ServletContext的getContext(String uripath)得到另一个Servlet 上下文,并可以转向到外部上下文的一个服务器资源链接。
3).使用javax.servlet. ServletContext的getNamedDispatcher(String name)得到名为name的一个Web资源,包括Servlet和JSP页面。
这个资源的名字在Web应用部署描述文件web.xml中指定。
4.写出JavaBean的<jsp:setProperty>的四种形式,并说明他们之间的差别。
答:1).<jsp:setProperty name=”myBean” property=”*” />2).<jsp:setProperty name=”myBean” property=”myProperty ” />3)<jsp:setProperty name=”myBean” property=”myProperty” param=”ParamName” />4)<jsp:setProperty name=”myBean” property=”myProperty” value=”MyValue” > 其中:name就是<jsp:useBean>的id,因此name必须和id一致。
第一种写法:由窗体传来的参数值,通过自省机制,设定所有的属性值;第二种写法:也是通过自省机制,不过只设定myProperty的属性值;第三种写法:由窗体传来的参数名称为ParamName的值,传给属性名称为myProperty;第四种写法:它弹性最大,它可以通过value,动态设定JavaBean的属性。
5.请写出编写Jsp自定义标签的步骤。
答:1)创建标记处理器(Tag handler)类2)创建标记库描述文件(TLD)3)应用程序部署描述符(web.xml)文件 4)在Jsp页面中的标记库声明四、编程题(每题15分,共30分)1.使用标准标签库中的<c:foreach>标签、<c:if>标签和<c:out>标签列出1到100中能被2整除不能被3整除的数字。
答:<%@ page contentType="text/html" pageEncoding="GBK"%><%@ taglib uri="/jstl/core" prefix="c"%><%@ taglib uri="/jstl/x" prefix="x"%><html><head><title>Java</title></head><body><h3>列出1到100中能被2整除不能被3整除的数字</h3><c:forEach var="s" begin="1" end="100" step="1"><c:if test="${s%2==0 && s%3!=0}" var="condition"><c:out value="${s}"/></c:if></c:forEach></body></html>2.编写程序reg.htm和reg.jsp,做一用户注册界面,注册信息包括:用户名,年龄,性别。