一、填空题
- 发布到服务器上的组件除包含自身实现的代码文件外,还要包含一(XML)部署描述文件。
- Java EE技术框架可分为三部分:组件技术、(服务技术)、通信技术。
- Servlet 最大的用途是通过(动态响应)客户机请求来扩展服务器功能。
- 表单数据的提交方法有两种,(Post)方法和Get方法。
- (Filter)拦截请求和响应,以便查看、提取正在客户机和服务器之间交换数据。
- (Listener)实现了Servlet的事件驱动。
- JSP页面的脚本元素用来嵌入(java)代码。
- JSP动作组件是一些(XML)语法格式的标记,被用来控制Web容器的行为。
- JSP供提供九种内置对象,(request)对象代表的是来自客户端的请求。
- JSP 标准标记库是一个实现( Web )应用程序中常用功能的定制标记库集。
- java.sql.Statement对象代表一条发送到数据库执行的SQL语句。有(三)种Statement 对象。
- Servlets可以使用(MIME)类型来向浏览器传送非 HTML 文件。
- Enterprise Bean 是在(多)台机器上跨几个地址空间运行的组件。
- JavaBean 是(一)台机器上同一个地址空间中运行的组件。
- 在标记描述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、以上都是
三、正误判断:
- JSP页面的成分“指令”用来从整体上控制Servlet结构。√
- JSP页面的成分“动作”用来引入现有的组件来控制Web容器的行为。√
- Servlet可从命令行启动的,也可由包含Java虚拟机的Web服务器进行加载运行。X
- 客户机对Servlet的请求和Servlet对客户端的响应,都是通过Web服务器来实现的。√
- 表单数据的提交方法有两种,若采用Get方法,则数据由标准的输入设备读入。X
- Servlets 可以使用 MIME 类型来向浏览器传送非 HTML 文件。√
- JSP最终会被转换成标准的XML文档。X
- include指令可用于向JSP页面内某处嵌入HTML文件、JSP文件或其他文本文件。√
- include动作组件把指定文件插入正在生成的页面。√
- 可以通过“out” 对象直接向客户端写一个由程序动态生成HTML文件。√
- JSP是一种实现普通静态HTML和动态HTML混合编码的技术。√
- JavaBean 是进程内组件。√
- Enterprise Bean 是进程间组件。√
- EJB组件是一种分布式对象,EJB被实例化后,其它地址空间中的应用程序也访问它。√
- 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对应的数据库中的数据已被删除。