一、填空题

  1. 发布到服务器上的组件除包含自身实现的代码文件外,还要包含一(XML)部署描述文件。
  2. Java EE技术框架可分为三部分:组件技术、(服务技术)、通信技术。
  3. Servlet 最大的用途是通过(动态响应)客户机请求来扩展服务器功能。
  4. 表单数据的提交方法有两种,(Post)方法和Get方法。
  5. (Filter)拦截请求和响应,以便查看、提取正在客户机和服务器之间交换数据。
  6. (Listener)实现了Servlet的事件驱动。
  7. JSP页面的脚本元素用来嵌入(java)代码。
  8. JSP动作组件是一些(XML)语法格式的标记,被用来控制Web容器的行为。
  9. JSP供提供九种内置对象,(request)对象代表的是来自客户端的请求。
  10. JSP 标准标记库是一个实现( Web )应用程序中常用功能的定制标记库集。
  11. java.sql.Statement对象代表一条发送到数据库执行的SQL语句。有(三)种Statement 对象。
  12. Servlets可以使用(MIME)类型来向浏览器传送非 HTML 文件。
  13. Enterprise Bean 是在(多)台机器上跨几个地址空间运行的组件。
  14. JavaBean 是(一)台机器上同一个地址空间中运行的组件。
  15. 在标记描述TLD文件中Required 定义为(true)代表为必须。

 

二、单项选择题

1、表单数据的提交方法有两种, (Post)方法使得数据由标准的输入设备读入。

A.Get    B. Post   C.Read   D.Input

2、在表单提交的数据中,如果变量的值有多个,这时应调用(getParameterValues())方法,

A. getParameterValues()    B. getParameter()     C. getParameterNames()      D. getAttribute()

3、Servlet的事件驱动由(Listener)实现。

A. Filter   B.  Listener  C .  Response   D. Request

4、标记名称由两部分组成,(前缀)用来区分不同标记库.

A. 后缀     B. 前缀    C.JSP    D. bean

5、客户机对Servlet的请求和Servlet对客户端的响应,都是通过(Web服务器)来实现的。

A、EJB       B、XML      C、API       D、Web服务器

6、获取数据库连接的方法是 (getConnection())。

A、Connection()   B、getConnection()   C、Con   D、getContent()

7、常用的接收邮件的协议是 (POP3)

A、SMTP      B、POP3     C、IMAP      D、MIME

8、( <jsp:getProperty> )用来获取一个已被创建的JavaBean组件的属性值。

A、<jsp:getProperty>        B、<Bean:getProperty>   

C、<jsp:getAttrib>          D.  <JavaBean:getProperty>

9、要对体内容进行操作的标记,必须继承的接口是(javax.Servlet.jsp.tagext.BodyTag)。

A.      javax.Servlet.jsp.tagext. Tag  B.javax.Servlet.jsp.tagext.BodyTag

C. javax.Servlet.jsp. Tag         D. 三个都必须

10、core标记库主要的标记有( A)

A、通用标记;流程控制标记;URL标记

B、选择标记;循环标记

C、sql标记;xml标记;FN标记

D、以上都是

11-19答案

11、A   12、D   13、C   14、A   15、B  16、A  17、B   18、A   19、C  

11、在WAR文件中,web.xml放在哪个目录中 ()

A. WEB-INF              B. APP-INF   

C. META-INF             D. WEB-INF/lib

12、ejb环境变量如何调用名为ejbC的ejb ()

A. initCtx.lookup("java:comp/env/ejb/ejbC")

B. initCtx.lookup("java:comp/ejb/ejbC")

C. initCtx.lookup("java:comp/ejbC")

D. initCtx.lookup("java:comp/env/ejbC")

13、Servlet获得初始化参数的对象是()

A、Request                 B、Response  

C、ServletConfig            D、ServletContext

14、Servlet间完成协作,需要用到( )完成请求指派

A、Requestdispatcher        B、Responsedispatcher

C、Servletdispatcher         D、includedispatcher

15、JSP脚本中设有变量a,输出a正确的表达式是()

A、<%=a;%>               B、<%=a%>

C、<%    =a;%>           D、<%a%>

16、JSP从HTML表单中获得用户输入的正确语句为 ()

A、Request.getParameter(“ID”)       B、Reponse.getParameter(“ID”)

C、Request.getAttribute(“ID”)        D、Reponse.getAttribute(“ID”)

17、能执行带参数的SQL语句的对象是 ()

A、Statement                      B、 Preparedstatement

C、CallStatement                   D、以上三个都可以

18、常用的上传邮件的协议是 ()

A、SMTP                         B、POP3

C、IMAP                         D、MIME

19、标记处理器集成Tag接口,必须实现的接口方法是 ()

A、doStartTag()                    B、doEndTag()

C、以上都是

 

三、正误判断:

  1.  JSP页面的成分“指令”用来从整体上控制Servlet结构。√
  2. JSP页面的成分“动作”用来引入现有的组件来控制Web容器的行为。√
  3. Servlet可从命令行启动的,也可由包含Java虚拟机的Web服务器进行加载运行。X
  4. 客户机对Servlet的请求和Servlet对客户端的响应,都是通过Web服务器来实现的。√
  5. 表单数据的提交方法有两种,若采用Get方法,则数据由标准的输入设备读入。X
  6. Servlets 可以使用 MIME 类型来向浏览器传送非 HTML 文件。√
  7. JSP最终会被转换成标准的XML文档。X
  8. include指令可用于向JSP页面内某处嵌入HTML文件、JSP文件或其他文本文件。√
  9. include动作组件把指定文件插入正在生成的页面。√
  10. 可以通过“out” 对象直接向客户端写一个由程序动态生成HTML文件。√
  11. JSP是一种实现普通静态HTML和动态HTML混合编码的技术。√
  12. JavaBean 是进程内组件。√
  13. Enterprise Bean 是进程间组件。√
  14. EJB组件是一种分布式对象,EJB被实例化后,其它地址空间中的应用程序也访问它。√
  15. JSP 标准标记库是一个实现Web应用程序中常用功能的定制标记库集。√

 

四、简单回答

1.简述Servlet工作原理。

Servlet工作原理:Servlet运行在Web服务器上的Web容器里。Web容器负责管理Servlet。它装入并初始化Servlet,管理Servlet的多个实例,并充当请求调度器,将客户端的请求传递到Servlet,并将Servlet的响应返回给客户端。Web容器在 Servlet 的使用期限结束时终结该 Servlet。服务器关闭时,Web容器会从内存中卸载和除去 Servlet。

2.Servlet 与 Applet的异同.

相似之处:

(1)它们不是独立的应用程序,没有main()方法。

(2)它们不是由用户调用,而是由另外一个应用程序(容器)调用。

(3)它们都有一个生存周期,包含init()和destroy()方法。

不同之处:

(1)Applet运行在客户端,具有丰富的图形界面。

(2)Servlet运行在服务器端,没有图形界面。

3.EJB怎样和容器交互,其组件有哪几种类型?

n       EJB通过以下三种机制与容器交互

①     回调方法:回调方法是EJB组件实现的,通过部署标记或在部署文件中声明的特定方法,当容器要执行创建EJB实例,结束事务等操作时,它将调用这些方法来通知该EJB组件。

②     EJBContext:每个EJB都会得到一个 EJBContext对象,它是对容器的直接引用,通过它可以获取环境信息。

③     Java命名和目录接口(JNDI):这是java平台的标准扩展,用于访问命名系统,如LDAP、NetWare、文件系统等。

n       EJB组件可分为三种主要类型:

①     会话Bean:代表检索或存储数据以满足用户请求这样的操作;

②     实体Bean:代表一种数据集,可以访问这些数据集来满足用户请求;

③     消息驱动Bean:相当于一个实现了某些业务逻辑的异步消息接收者。

4.什么是JDBC技术?

①   JDBC是一组API,定义了用来访问数据源的标准Java类库,使用这个类库可以以一种标准的方法、方便地访问数据库资源。

②   JDBC对数据库的访问具有平台无关性。

③   JDBC API为访问不同的数据库提供了一种统一的途径,象ODBC一样,JDBC对开发者屏蔽了一些细节问题。

④   JDBC的目标是使应用程序开发人员使用JDBC可以连接任何提供了JDBC驱动程序的数据库系统,这样就使得程序员无需对特定的数据库系统的特点有过多的了解,从而大大简化和加快了开发过程。

5、企业级应用程序一般选择三层体系结构。请问为什么?

答:应为三层体系结构区别于二层体系结构具有如下优点:

       (1)安全性高,(2)易于维护,(3)快速响应,(4)系统扩展灵活

6、Java EE的核型编程思想是:组件—容器。请您简单描述组件和容器,二者的关系,及此思想的优点。

答:组件:Java EE的基本软件单元。容器:组件运行的环境。

      容器为组件提供必需的底层基础功能(服务),组件通过调用容器提供的标准服务来与外界交互。

      在分布式组件的开发过程中,完全可以不考虑复杂多变的分布式计算环境,而专注于业务逻辑的实现,这样可大大提高组件开发的效率,降低开发企业级应用程序的难度。

7、SERVLET保持会话的方法有那三种?

答:使用Cookie进行会话跟踪

      使用URL重写跟踪会话

      使用HttpSession对象跟踪会话

8、servlet和JSP的异同.

相似:

(1)两者都是基于Java的技术,所以都继承了Java的所有特性(跨平台、多线程等 ),都可以使用Java强大的API。

(2)两者工作方式相似:JSP代码先被JSP容器转换为Servlet代码再编译为类。

(3)两者在J2EE体系结构中的工作层次相同,都负责与客户端的连接。

不同:

(1)编程方式不同。Servlets是一些运行于Web服务器端的Java小程序;而JSP是脚本,编写起来更简单容易。

(2)应用目的不同。Servlet主要用于从客户端接收请求信息,而JSP主要负责将服务器端信息传送到客户端。

9、forward 和redirect的区别.

答:forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。

   redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。

五、程序题

主要内容:

参见(p218程序8-2)创建数据库的连接、语句对象、结果集对象,查询语句、结果集的应用。

参见(p62程序3-20,21)如何利用表单form提交数据。在servlet中如何获取表单提供的数据。

参见(p28程序3-2)关于servlet的配置信息的说明。

六、 EJB3.0是Java EE的重头戏之一,但是有人我们不用Ejb也能做出很好的企业级应用?比如采用JSP+java Bean或则采用Jsp+servlet+java Bean的模式。针对该观点请回答如下问题6-10

1、  请您评价此观点?分析为什么?

2、  MVC的各个部分都有那些技术来实现?如何实现?

3、  企业bean,有哪些?在企业级应用中主要有什么作用?

4、  满足什么条件的普通java类才是一个java Bean? JSP和java Bean结合的三个标记是什么?

5、  Entity Manager API可以用来实现实体Bean生命周期管理、实体Bean的查找定位以及与数据库同步操作等。请画出实体Bean的生命周期状态图及其转换过程,并简单每种状态和转移的意义。

1、   

答:此观点不准确。EJB3.0是java在吸收spring,hibernate等先进框架技术,并结合ejb2.0的缺点推出的一种全新的企业级组件技术,其中采用POJO+注释的模式大大简化了EJB的开发。可以说EJB3.0是企业级分布式架构的一种当然的选择。当然针对对分布式要求不是太高的中小企业级应用,选用上述模式也能完成任务。

2、 

答:MVC是Model-View-Controller的简写。"Model" 代表的是应用的业务逻辑(通过JavaBean,EJB组件实现), View" 是应用的表示面(由JSP页面产生),"Controller" 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用

3、   

实体bean:完成持久化。会话bean:完成业务处理。消息bean:处理异步消息。

4、   

答:

  (1)对于数据类型“protype”的每个可读属性,Bean 必须有下面签名的一个方法:

public proptype getProperty() { }

(2)对于数据类型“protype”的每个可写属性,Bean 必须有下面签名的一个方法:

public setProperty(proptype x) { }

(3)定义一个不带任何参数的构造函数。

<jsp:useBean>
<jsp:setProperty>
<jsp:getProperty>

5、   

答:

  New:已经创建了实体Bean的实例,但尚未与持久化上下文进行关联,更未实现与数据库中的信息的映射。

  Managed:实体bean已经与持久化上下文进行关联。实现与数据库中的信息映射。

  Detached:实体Bean实现数据中的信息映射,但不再与持久化上下文进行关联。

  Removed:实体bean对应的数据库中的数据已被删除。