您好,欢迎来到尚车旅游网。
搜索
您的当前位置:首页jsp复习资料

jsp复习资料

来源:尚车旅游网


08计算机《JSP程序设计》作业题

请把各题的答案另外写在一个Word文档中,标明题号,写好答案即可。写上自己的学号姓名,统一发给班长,下周上课,班长用优盘考给我或QQ发给我。

一、填空题

1、在安装Tomcat时,如果系统中已经有其他的应用程序占用了【8080 】端口,则启动Tomcat时会失败。 2、Servlet是服务器端的【 java小程序 】,用于响应客户机的请求。在默认情况下,Servlet采用一种无状态的【 请求-响应 】处理方式。Servlet主要功能是增强Java服务器端功能。 3、Servlet的生命周期主要由3个过程:【 init() 】方法功能是服务器初始化Servlet;【 service() 】方法功能是对象调用该方法响应客户的请求;【 destroy() 】方法功能是消灭Servlet对象。 4、编译后的Servlet只被装载【 1 】次,因此,当源程序重新编译后,需要重新启动服务器;同时Servlet类的修饰符必须为【 public 】

5、Servlet的环境API接口中,ServletConfig接口对象接收【 servlet 】特定的初始化参数,而ServletContext接收【 webapp 】初始化参数。 6、表单提交有2种方式。【 get 】方式是表单的默认方式,并且次提交方式的总数据量不能超过2KB,否则提交失败。利用【 post 】方法需要在method方法中声明,并且它没有容量方面的限制。

7、在Servlet中,通过HttpServletRequest接口的方法来获得来自【 客户和服务器 】端的一些数据;HttpServletReponse接口的方法来【 发出响应 】,它的【 sendredirect 】方法可以立即使网页重定向,它的【 setintheader 】方法可以使网页定时刷新,它的【 secdheader 】方法可以定时使网页重定向。 8、javax.servlet.RequestDispatcher接口有两个最重要的的方法:【 forward 】和【 include 】,它们用来实现对页面的动态转发或者包含。 9、在一个JSP页面中,主要分为三种元素:【编译指令 】、【操作指令 】和【 JSP代码 】;编译指令包括如下【page指令】、【include指令】、【taglib指令 】;操作指令包括【jsp:include 】、【jsp:forward 】、【jsp:param 】、【变量和方法】、【代码块 】等。

10、在JSP页面中可以获得的主要的7个隐含对象变量如下:【out对象】、【response对象】、【request对象】、【application对象】、【session 对象】、【cookie对象】、【pageContext对象 】。

11、JavaBean是一种【软件组件】模型,它和其它软件对象相互作用,决定如何建立和重用软件组件。JavaBean具有4个特征:【独立性】、【可重用性 】【在可视化开发工具中使用】及【状态可以保存】。 12、JSP中专门提供三个页面指令来与JavaBean交互,分别是【 jsp:usebean 】指令、【jsp:serproperty 】指令和【jsp:getProperty】指令。

13、在实际使用中,有几种常用的Bean,其中【页面】Bean为JSP保留数据,不实现应用程序流中的任何功能。【请求】Bean是在request范围内共享数据的Bean。【会话】Bean在Session范围内共享数据。【应用程序】Bean在application范围内共享数据。

14、设计模式针对特定的问题提出的解决方案,常用的面向对象的设计模式有如下4种,【Factory】模式建立的系统的扩充性非常好。【Singleton】模式被用来限制对象的创建,不能有子类,构造函数是私有的。【MVC架构】模式将架构分为View层、Model层和Controller层。

15、java.sql包中提供了多种JDBC API,这些类和接口可以提供构造【SQL语句】、连接【关系型数据库】、执行【SQL 语句 】并获取【查询结果】等功能。

16、在JSP中,加载Oralce的JDBC驱动程序的语句为【Class.forName(”oracle.jdbc.driver.OracleDriver”)】。使用SUN公司的JDBC—ODBC桥驱动程序的语句为【Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)】。【Connection 】对象用于建立与数据库之间的连接,【 Statement 】对象用于将SQL语句发送到数据库中,【ResultSet 】对象保存SQL语句执行的结果, 17、数据持久化是指将从数据库取出的数据进行封装,放在一个【对象 】里,目的是为了以后的使用更加高效,

1

不必每次都从数据库里取数据。

18、ORM实现了Java应用中的对象到关系数据库中的表的自动的【持久化】,使用元数据描述对象与数据库间的映射。

19、持久化对象实际上必须对应数据库中的【实体】,与纯Java对象是有区别的。 20、XML数据岛技术可以有效的将【显示 】和【数据】分离

二、选择题

1.J2EE 中,【 A 】)类的【 】方法用于创建对话。

A. HttpServletRequest、getSession B. HttpServletResponse、newSession C. HtttpSession、newInstance D. HttpSession、getSession 2.在Servlet里,能实现重定向的方法有【 E 】。

A.运用javax.servlet.http.HttpServletRequest接口的sendRedirect方法 B.运用javax.servlet.http.HttpServletResponse接口的sendRedirect方法 C.运用javax.servlet.RequestDispatcher接口的forward方法 D.运用javax.servlet.ResponseDispatcher接口的forward方法 E.正确答案是B和C

3.利用MyEclipse开发Servlet,下列说法正确的是【 E 】。

A. MyEclipse可自动产生web.xml B. MyEclipse不能自动产生web.xml,需要手工编写 C.可利用MyEclipse自带的Tomcat作为Servlet容器 D. MyEclipse没有自带Tomcat,需要自己安装配置。 E.正确答案是A和D

4.编写Servlet 的doPost方法时,需要抛出异常为[ A ]。

A.ServletException, IOException B.ServletException, RemoteException C.HttpServletException, IOException D.HttpServletException, RemoteException 5.有关会话跟踪技术描述不正确的是【 BC 】。

A.Cookie是Web服务器发送给客户端的一小段信息,客户端请求时,可以读取该信息发送到服务器端 B.关闭浏览器意味着会话ID丢失,但所有与原会话关联的会话数据仍保留在服务器上,直至会话过期 C.在禁用Cookie时可以使用URL重写技术跟踪会话

D.隐藏表单域将字段添加到HTML表单并在客户端浏览器中显示 6.以下【 A 】可用于检索session属性userid的值。

A.session. getAttribute (“userid”); B.session. setAttribute (“userid”); C.request. getParameter (“userid”); D.request. getAttribute (“userid”); 7.有关Servlet的生命周期说法正确的有【 E 】。 A.Servlet的生命周期由Servlet实例控制

B.init()方法在创建完Servlet实例后对其进行初始化,传递的参数为实现ServletContext接口的对象 C.service()方法响应客户端发出的请求 D.destroy()方法释放Servlet实例 E.正确答案是C和D

8.在WEB应用程序的目录结构中,在WEB-INF文件夹外的文件为【 A 】。

A..jsp文件 B..class文件 C..jar文件 D.web.xml文件 9.给定一个Servlet的代码片段如下: ( A )

Public void doGet(HttpServletRequest request,HttpServletResponse response)

throws ServletException,IOException{

____ __

out.println(“hi kitty!”); out.close(); }

2

运行次Servlet时输出如下: hi kitty!

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

A.PrintWriter out = response.getWriter(); B.PrintWriter out = request.getWriter(); C.OutputStream out = response.getOutputStream(); D.OutputStream out = request.getWriter(); 10.在 J2EE中,便用 Resultset对象的 next()方法移动光标时,如果超过界限,就会抛出异常,则该异常通常是【 C 】。

A.InterruptedExceptlon B.AlreadyBoundExceptlon C.SQLException D.NetExcePtlon 11.在J2EE中,对于Httpservlet类的描述,错误的是【 A 】。

A.我们自己编写的Servlet继承了Httpservlet类,一定需覆盖doPost或者doGet B.HttpServlet类扩展了GenericServlet类,实现了GenericServlet类的抽象方法 C.HttpServlet类中处理客户请求和响应时所用的两个接口是:HttpServletRequest和HttpServletResponse. D.我们自己编写的servlet继承了Httpservlet类,一般只需要覆盖doPost方法,不必覆盖servive()方法,因为一个service()方法会调用doPost或者doGet方法

12.Servlet中HttpServletResponse的【 C 】方法用来把一个Http请求重定向到另外的URL。 A. sendURL() B. redirectURL() C. sendRedirect() D. redirectResponse() 13.在J2EE中,在web.xml中,有如下代码:

30

上述代码定义了默认的会话超时时长,时长为30【 C 】。

A.毫秒 B.秒 C.分钟 D.小时 14.Servlet 可以在以下【 A 】三个不同的作用域存储数据。

A.请求、会话和上下文 B.响应、会话和上下文 C.请求、响应和会话 D.请求、响应和上下文 15.Servlet程序的入口点是:【 A 】

A.init() B.main() C.service() D.doGet() 16.在HTTP协议中,用于发送大量数据的方法是【 B 】。

A.get B.post C.put D.options 17.在JSP中,只有一行代码:<%=A+B%>,运行将输出( D)。(选择一项)

A.A+B B.AB C.113 D. 没有任何输出,因为表达式是错误的 18.在JSP中,<%=”1+4” %>将输出【 A 】。(选择一项)

A.l+4 B.5 C.14 D.不会输出,因为表达式是错误的 19.在JSP中,page指令的【 B 】属性用来引入需要的包或类。

A.extends B.import C.languge D.contentType

20.给定以下JSP代码片段,有2个客户依次浏览该JSP;且每个客户只浏览一次,第2个客户会看到浏览器显示【 B 】。

<%int x = 1; %> <%!int x = 10; %> X =< %= ++x%>

A.X = 1 B.X = 2 C.X = 10 D.X = 11

21.从HTTP请求中,获得请求参数,应该调用【 B 】。

A.request对象的getAttribute()方法 B.request对象的getParameter()方法 B.session对象的getAttribute()方法 D.session对象的getParameter()方法

3

22.下面关于JSP作用域对象的说法错误的是【 C 】。

A.request对象可以得到请求中的参数 B.session对象可以保存用户信息

c.application对象可以被多个应用共享 D.作用域范围从小到达是request、session、application 23.在JSP页面中,保存数据的范围由小到大依次是【 C 】。

A. pageContext,request,application,session B.pageContext,application,session,request C.pageContext,request,session,application D.pageContext,session,request,application

24. 在JSP页面中,等效于HttpServletResponse的内置对象是【 B 】。

A.out B.response C.request D.config 25. 在JSP页面中,能够完成输出操作的内置对象是【 A 】。

A.out B.response C.request D.config 26.在JSP页面中,正确引入JavaBean的是【 C 】。

a) <%jsp: useBean id =”myBean” scope =”page” class=”pkg.MyBean” %> b) c) d) 27.关于, 下列说法不正确的是【 D 】。

a) 它可以包含静态文件 b) 它可以包含动态文件

c) 当它的flush属性为true时,表示缓冲区满时,将会被清空 d) 它的flush属性的默认值为true

28.在JSP中,对<jsp:setProperty>标记描述正确的是【 C 】。

a) 必须在一个JSP文件中搭配出现 b) 就如同session.setAttribute()一样,来设计属性/值对 c) 和动作一起便用,来设置bean的属性值 d) 就如同request.setAttribute()一样,来设置属性/值对 29. 在JSP中,只有一行代码:${1+2},运行将输出【 B 】。

A. 1+2 B. 3 C. null D. 没有任何输出,因为表达式是错误的 30.编写自定义标签处理类后,需要编写一个【 B 】去描述。

A .tag文件 B .tld文件 C.dtd文件 D. .xml文件 31.在J2EE中,标签库中文件(*.tld)存放在【 A 】目录下。 a) WEB—INF

b) WEB—INF/tags c) WEB—INF/classes

d) WEB—INF/lib

32.核心标签库中,用来实现循环功能的标签是【 D 】。

A. B. C. D. 33.以下【 D 】个参数不属于标签:

A. var B. begin C. end D. delims 34.以下哪个方法不是TagSupport类的方法:【 D 】。

A. doPost() B. doStartTag() C. doEndTag() D.doAfterBody() 35.如下代码,执行效果为【 C 】。

4

A.123 123 B. a 123 C. 123 a D. A a

36.以下【 C 】个标签实现了switch功能。

A. B. C. D. 37.EL表达式,${10 mod 3},执行结果为:【B 】

A . 10 mod 3 B. 1 C. 3 D. null 38.以下代码执行效果为【 B 】:

A.1 2 3 4 B. 1 3 5 C. i i i D. 15 39.以下哪句代码可以正确导入核心标签库:【 D 】。

A. <% page import = “c”%> B. <% page prefix = “c” uri = “/WEB-INF/c.tld”%> C. <% taglib prefix = “c” import = “/WEB-INF/c.tld” %> D. <% taglib prefix = “c” uri = “/WEB-INF/c.tld”%>

40.在WEB应用程序的目录结构中,在WEB-INF文件夹中的lib目录是放【 C 】文件的(只选一项)。 A..jsp文件 B..class文件 C..jar文件 D.web.xml文件 三、简答题

1、简述Servlet和JSP的关系

答:JSP是以另外一种方式实现的Servlet,Servlet是JSP的早期版本,在JSP中,更加注重页面的表现,而在Servlet中则更注重业务逻辑的实现。

2、简述Servlet的生命周期

答:Servlet的生命周期主要由3个过程组成,init()方法是服务器初始化Servlet,service()方法是初始化完毕,Servlet对象调用该方法响应客户的请求,destroy()方法是调用该方法消灭Servlet对象。

3、简述JSP的执行过程

答:①、首先客户端发出request请求;

②、JSP container将JSP转译成servlet源代码;

③、将产生的servlet的源代码经过编译后,并加载到内存执行; ④、把结果response到客户端;

4、synchronized关键字的功能?

答:功能是当前一个用户在执行该方法的时候,其他的拥护必须等待,直到该用户完成操作。

5、out对象有什么功能?out.print和 document.write 有什么区别? 答:功能:把信息回送到客户端的浏览器中。

区别:out.print是JSP代码,被服务器解释执行,在数据库中保存信息。

Document.write是JavaScript代码,被客户端浏览器解释执行,只是直接输入要打印的内容,没有保存信息。

6、applciation对象有什么特点?与session对象有什么联系和区别?

答:站点所有的用户公用一个application对象,当站点服务器开启的时候,application就被创建,直到网站

5

关闭。

联系是:数据都被存储在服务器端,而且都可以保留一段时间。 区别是:每个用户有一个session,但是application是共有的。

7、编写JavaBean的时候,要注意哪些方面。 答:①.类中方法的访问属性必须是public的;

②.类中如果有构造方法,,那么这个构造方法也是public的,并且是无参数的; ③.对于boolean类型的成员变量,允许使用is代替get和set;

④.如果类的成员的名字是xxx,那么为了更改或获取成员变量的值,在类中使用两个方法: Getxxx(),用来获取属性xxx; Setxxx(),用来修改属性xxx。

8、什么是组件?使用组件有什么好处?

答:组件是自包含的,可重用的软件单元,是控件,对象等; 好处是对数据和方法进行了简单的封装。

9、简述基于Struts的MVC模型?

答:Struts是一个比较好的MVC框架,提供了对开发MVC系统的底层支持,作为一个MVC的框架,struts对模式(Model)、视图(View)和控制器(Controller)都提供了对应的实现组件

10、简述事务的基本概念,并说明如何在JDBC中实现事务。 答:、事务:是一些事件的集合,执行一条SQL语句可以理解成一个事件。事务中包含多个事件,只有每一个事件都能执行成功时,事务才执行,如有有任何一个事件不能成功执行,事务的其他事件也不能被执行。 首先利用“conn.getautocommit();”得到当前事务设定的值,保存到一个变量中,利用“conn.setautocommit;”将自动事务设置为false,这样如果不执行到conn.commit()”语句,所有的SQL语句的执行结果都不能向数据库中提交。如果有异常发生在catch语句中则实现回滚“conn.rollback();”,这样就保证了事务的完整性。

11.、简述ORM的基本概念。

答:ORM实现了java应用中的对象到关系数据库中的表的自动的持久化,使用元数据描述对象与数据库间的映射。

12、简述PLJO与PO的概念。

答:POJO是用来与数据库表建立映射的Java文件;PO是在操作数据库时创建的对象。

13.、比较Hibernate与JDBC、EJB、JDO的优缺点。

答:JDBC:多数java开发人员用JDBC与数据库进行通信,它可以通过DAO模式进行改善和提高。但这种方式在大型应用程序中不容易操作使用,切维护起来相当困难。

EJB:EJB是数据持久化的一种技术,它是通过实体Bean来对数据进行 持久化的。但是很多的商业EJB容器的性能和技术支持不太好,在EJB中实现JDBC也比较复杂。

JDO:JDO的出现似乎有了一些改观,但是,JDO没有一个好的开源免费实现。好的产品都是商业产品,并且在国内没有销售和技术支持。JDO也不是一个轻量级封装,它建立的持久层框架很不完善,再加上JDO的标准还是很不完善及严重的产品分裂问题,使得很多操作方式很烦琐。

Hibernate:不需要任何容器,提供简单易用的API,也解决了JDO的很多缺陷。透明地提供对象与关系数据库的映射,以统一的接口方式支持多种数据库;复杂的缓存机制和所定策略,使针对数据库操作大大减少;开源免

6

费的License,可以在需要的时候研究源代码,改写源代码,进行功能的定制;轻量级封装,避免引入过多复杂的问题,容易调试,减轻程序员的负担;具有可扩展性,API开放,当本身功能不够用的时候,可以自行编码扩展;开发者活跃,产品有稳定的发展保障。

7

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- sceh.cn 版权所有

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务