java-ee、web高级编程-期末考试复习资料Word格式文档下载.doc

上传人:聆听****声音 文档编号:810646 上传时间:2023-04-29 格式:DOC 页数:10 大小:70KB
下载 相关 举报
java-ee、web高级编程-期末考试复习资料Word格式文档下载.doc_第1页
第1页 / 共10页
java-ee、web高级编程-期末考试复习资料Word格式文档下载.doc_第2页
第2页 / 共10页
java-ee、web高级编程-期末考试复习资料Word格式文档下载.doc_第3页
第3页 / 共10页
java-ee、web高级编程-期末考试复习资料Word格式文档下载.doc_第4页
第4页 / 共10页
java-ee、web高级编程-期末考试复习资料Word格式文档下载.doc_第5页
第5页 / 共10页
java-ee、web高级编程-期末考试复习资料Word格式文档下载.doc_第6页
第6页 / 共10页
java-ee、web高级编程-期末考试复习资料Word格式文档下载.doc_第7页
第7页 / 共10页
java-ee、web高级编程-期末考试复习资料Word格式文档下载.doc_第8页
第8页 / 共10页
java-ee、web高级编程-期末考试复习资料Word格式文档下载.doc_第9页
第9页 / 共10页
java-ee、web高级编程-期末考试复习资料Word格式文档下载.doc_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

java-ee、web高级编程-期末考试复习资料Word格式文档下载.doc

《java-ee、web高级编程-期末考试复习资料Word格式文档下载.doc》由会员分享,可在线阅读,更多相关《java-ee、web高级编程-期末考试复习资料Word格式文档下载.doc(10页珍藏版)》请在冰点文库上搜索。

java-ee、web高级编程-期末考试复习资料Word格式文档下载.doc

会话Bean:

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

实体Bean:

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

消息驱动Bean:

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

4.什么是JDBC技术?

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

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

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

④ 

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

5、企业级应用程序一般选择三层体系结构。

请问为什么?

答:

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

(1)安全性高,

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

6、JavaEE的核型编程思想是:

组件—容器。

请您简单描述组件和容器,二者的关系,及此思想的优点。

组件:

JavaEE的基本软件单元。

容器:

组件运行的环境。

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

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

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参数都可以获取。

六、 

EJB3.0是JavaEE的重头戏之一,但是有人我们不用Ejb也能做出很好的企业级应用?

比如采用JSP+javaBean或则采用Jsp+servlet+javaBean的模式。

针对该观点请回答如下问题6-10

1、 

请您评价此观点?

分析为什么?

2、 

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

如何实现?

3、 

企业bean,有哪些?

在企业级应用中主要有什么作用?

4、 

满足什么条件的普通java类才是一个javaBean?

JSP和javaBean结合的三个标记是什么?

5、 

EntityManagerAPI可以用来实现实体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必须有下面签名的一个方法:

publicproptypegetProperty(){}

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

publicsetProperty(proptypex){}

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

<

jsp:

useBean>

setProperty>

getProperty>

5、New:

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

Managed:

实体bean已经与持久化上下文进行关联。

实现与数据库中的信息映射。

Detached:

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

Removed:

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

(二)

1.JavaEE应用系统的层次结构

一个典型的JavaEEWeb应用系统被开发设计成一个四层的系统结构:

客户端层、Web层、业务层和企业信息系统层。

①客户端层(Client-Tier)。

包括各种客户端应用界面组件,如HTML页面组件,Applet组件和Windows桌面应用组件,它们均是部署运行在客户端的机器上。

②Web层(Web-Tier)。

包括各种JSP编写的动态页面组件与Servlet组件,它们运行在JavaEE的应用服务器上。

③业务层(Business-Tier)。

主要由Java企业Bean(EnterpriseBean)构成,它们是被部署运行于JavaEE的应用服务器上。

④企业信息系统层(EnterpriseInformationSystem-Tier)。

一般指各种存储应用数据的关系数据库系统或文件系统,它们一般是部署运行在专门的数据库服务器上。

3.Servlet工作基本流程

⑴客户端通过HTTP提出请求。

⑵Web服务器接收请求并将其发给Servlet。

如果这个Servlet尚未被加载,Web服务器将把它加载到Java虚拟机并且执行它

⑶Servlet将接收HTTP请求并执行某种处理

⑷Servlet将向Web服务器返回应答。

⑸Web服务器将从Servlet收到的应答发送给客户端。

4.浏览器和服务器通过哪两种方式实现的数据交互,优缺点

在Web应用中,浏览器客户端和服务器端的信息交互是必须的,提交数据到服务器要有两种方式get和post。

优缺点:

(1)get方式传输的数据量非常小,一般限制在2KB左右,但是执行效率却比post方法好,而post方式传递的数据量相对较大,它是等待服务器来读取数据,不过也有字节限制,这是为了避免对服务器用大量数据进行恶意攻击。

(2)get方式提交数据,会带来安全问题,post变量使用method=post来获取表单信息,通过post方法发送的信息是不可见的,不会在URL中显示出来,并且它没有关于信息长度的限制,处于安全性考虑,建议最好使用post提交数据。

5.简述什么是ORM,并写出实现了ORM的2种框架或技术。

对象关系映射(ObjectRelationalMapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。

简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中。

实现了ORM的框架或技术是:

Hibernate、IBatis、TopLink、ApacheOJB、Cayenne、Jaxor、jRelationalFramework、mirage、SMYLE。

6.简述JSF的特点。

①可以通过一组标准的、可重用的服务器端组件来创建用户界面。

②提供了一组JSP标签以访问这些组件。

③在表单重新显示时,透明的保存状态信息并重新填充表单。

④提供了实现自定义组件的框架。

⑤封装了事件处理和组件呈现,以便可以使用标准的JSF组件或自定义组件来支持除HTML之外的标记语言。

⑥让工具开发商可以开发针对标准Web应用程序框架的IDE

7.WSDL文档元素

WSDL文档在WebService的定义中使用下列元素。

Types:

数据类型定义的容器,它使用某种类型系统。

Message:

通信消息的数据结构的抽象类型化定义。

使用Types所定义的类型来定义整个消息的数据结构。

Operation:

对服务中所支持的操作的抽象描述,一般单个Operation描述了一个访问入口的请求/响应消息对。

PortType:

对于某个访问入口点类型所支持的操作的抽象集合,这些操作可以由一个或多个服务访问点来支持。

Binding。

特定端口类型的具体协议和数据格式规范的绑定。

Prot:

定义为协议/数据格式绑定与具体Web访问地址组合的单个服务访问。

Service:

相关服务访问点的集合。

论述题

1.MVC结构及MVC的优点

“模式-试图-控制器”(Model-View-Controller,MVC)应用程序总是由这三部分组成,即把一个应用的输入、处理和输出流程按照ModelView和Controller的方式进行分离,这样一个应用被分成三个层:

模型层视图层和控制层。

其优点:

①低耦合性②高重用性和可适用性③较低的生命周期成本④快速的部署⑤可维护性有利于软件工程化管理

2.数据库连接池的实现方式

数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。

预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完后在放回去。

我们可以通过设定连接池最大连接数来防止系统无尽地与数据库连接。

更为重要的是可以通过连接池的管理机制监视数据库的连接的数量、使用情况,为系统开发测试及性能调整提供数据。

3.创建WebService主要实现技术

(1)可扩展标记语言(XML)

XML是WebService技术架构的基石,它是WebService中表示数据的基本个是,但是它没有定义怎样扩展这套数据类型。

而XML就是专门解决这个问题的一套标准,它定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型,WebService平台就饿是用XMLSchema作为其数据类型系统的。

(2)简单对象访问协议(SOAP)

SOAP提供了标准的RPC方法来调用WebService。

SOAP规范中定义了SOAP消息的格式,以及怎样通过HTTP协议来使用SOAP。

SOAP是基于XML和XSD的,其中XML是SOAP的数据编码方式。

(3)WebService描述语言(WSDL)

WSDL是一种基于XML的,用于描述WebService及其操作、参数和返回值的语言。

因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。

一些最新的开发工具技能根据WebService生成WSDL文档,又能通过导入WSDL文档,生成调用相应的WebService的代码。

(4)统一描述、发现和集成协议(UDDI)

UDDI是WebService架构下核心的服务描述、发现和集成机制。

其目的是在网上自动查找WebService。

一旦WebService注册到UDDI,客户就可以很方便地查找和定位到所需的WebService。

(三)

1、简述你对IoC(InversionofControl)的理解

一个类需要用到某个接口的方法,我们需要将类A和接口B的实现关联起来,最简单的方法是类A中创建一个对于接口B的实现C的实例,但这种方法显然两者的依赖(Dependency)太大了。

而IoC的方法是只在类A中定义好用于关联接口B的实现的方法,将类A,接口B和接口B的实现C放入IoC的容器(Container)中,通过一定的配置由容器(Container)来实现类A与接口B的实现C的关联。

2、简述AOP核心?

1)Aspect(切面)切面,是对交叉业务逻辑的统称。

2)Joinpoint(连接点)连接点,指切面可以织入到目标对象的位置(方法,属性等)。

3)Advice(通知)通知,指切面的具体实现。

4)Pointcut(切入点)切入点,指通知应用到哪些类的哪些方法或属性之上的规则。

5)Introduction(引入)引入,指动态地给一个对象增加方法或属性的一种特殊的通知。

6)Weaving(织入)织入,指将通知插入到目标对象。

7)Target(目标对象)目标对象,指需要织入切面的对象。

8)Proxy(代理对象)代理对象,指切面织入目标对象之后形成的对象。

3、EJB包括(SessionBean,EntityBean)说出他们的生命周期?

SessionBean:

StatelessSessionBean的生命周期是由容器决定的,当客户机发出请求要建立一个Bean的实例时,EJB容器不一定要创建一个新的Bean的实例供客户机调用,而是随便找一个现有的实例提供给客户机。

当客户机调用了@PreDestroy修饰的方法时候,它就结束了。

当客户机第一次调用一个StatefulSessionBean时,容器必须立即在服务器中创建一个新的Bean实例,并关联到客户机上,以后此客户机调用StatefulSessionBean的方法时容器会把调用分派到与此客户机相关联的Bean实例。

EntityBean:

EntityBeans能存活相对较长的时间,并且状态是持续的。

只要数据库中的数据存在,Entitybeans就一直存活。

而不是按照应用程序或者服务进程来说的。

即使EJB容器崩溃了,Entitybeans也是存活的。

EntityBeans生命周期能够被容器或者Beans自己管理。

4、说出bean工厂创建bean的三种方式?

1)通过构造方法直接创建:

beanid=”xxx”class=”beanclassname”>

2)通过静态工厂方法创建:

beanid=”xx”class=”factoryclassname”factory-method=”xx”>

3)通过非静态工厂方法创建:

beanid=”factory”class=”factoryclassname”>

beanid=”xx”factory-bean=”factory”factory-method=”xx”>

5、叙述StatefulBean和StatelessBean的区别?

StatefulSessionBean可以记录呼叫者的状态,因此通常来说,一个使用者会有一个相对应的StatefulSessionBean的实体。

StatelessSessionBean虽然也是逻辑组件,但是他却不负责记录使用者状态,也就是说当使用者呼叫StatelessSessionBean的时候,EJBContainer并不会找寻特定的StatelessSessionBean的实体来执行这个method。

换言之,很可能数个使用者在执行某个StatelessSessionBean的methods时,会是同一个Bean的Instance在执行。

从内存方面来看,StatefulSessionBean与StatelessSessionBean比较,StatefulSessionBean会消耗J2EEServer较多的内存,然而StatefulSessionBean的优势却在于他可以维持使用者的状态。

6、EJB与JAVABEAN的区别?

JavaBean是可复用的组件,对JavaBean并没有严格的规范,理论上讲,任何一个Java类都可以是一个Bean。

但通常情况下,由于JavaBean是被容器所创建(如Tomcat)的,所以JavaBean应具有一个无参的构造器,另外,通常JavaBean还要实现Serializable接口用于实现Bean的持久性。

JavaBean实际上相当于微软COM模型中的本地进程内COM组件,它是不能被跨进程访问的。

EnterpriseJavaBean相当于DCOM,即分布式组件。

它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。

但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。

EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。

客户通过容器来访问真正的EJB组件。

7、ajax有什么组成,各组件作用是什么?

由JavaScript、CSS、DOM、XMLHttpRequest组成。

JavaScript:

将所有的东西绑定在一起。

CSS:

级联样式表

DOM:

进行动态显示及交互。

XMLHttpRequest:

进行异步数据查询、检索。

8、请说出Hibernate中持久化对象的生命周期以及各种状态直接的区别,并描述相互之间是如何转换的。

Hibernate中持久化对象的生命周期有临时态、持久态和游离态三种。

处于临时态的对象主键值为空,并且未与session关联,数据未保存到数据库中

处于持久态的对象与session关联起来,持久化后对象中的数据被保存到数据库中,并且主键值按照.hbm.xml文件中配置的生成方式生成相应的值

处于游离态的对象脱离了session的管理,是持久化后的一种状态,主键值按照.hbm.xml文件中配置的生成方式生成相应的值

当new一个新的对象时,该对象处于临时态

当该对象被当作session的参数使用的时候,该对象处于持久态

事务提交,session关闭后,该对象处于游离态

9、spring和hibernate的事务管理方式有什么不同?

hibernate的事务管理方式仅仅就是托管给JDBC(如果用JTA那么就是JTA),而JDBC的一切行为包括事务是基于一个connection的,那么hibernate委托给JDBC的事务也就是基于一个session。

JTA与JDBC事务不同在于可以跨连接。

spring也是调用hibernate中事务管理的API。

hibernate的事务管理,一般是编程性的。

而委托给spring之后,可以使用声明式的,也就是可以在XML之中配置哪些需要进行事务管理,哪些不需要

10、Hibernate有哪5个核心接口?

它们的作用分别是什么?

Configuration接口:

配置Hibernate,根据其启动hibernate,创建SessionFactory对象;

SessionFactory接口:

初始化Hibernate,充当数据存储源的代理,创建session对象,sessionFactory是线程安全的,意味着它的同一个实例可以被应用的多个线程共享,是重量级、二级缓存;

Session接口:

负责保存、更新、删除、加载和查询对象,是线程不安全的,避免多个线程共享同一个session,是轻量级、一级缓存;

Transaction接口:

管理事务;

Query和Criteria接口:

执行数据库的查询。

11、什么是ORM?

对象关系映射(Object—RelationalMapping,简称ORM)是一种为了解决

面向对象与面向关系数据库存在的互不匹配的现象的技术;

简单的说,ORM是通

过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化

到关系数据库中;

本质上就是将数据从一种形式转换到另外一种形式。

12、解释数据持久化的好处?

数据库的读写是一个很耗费时间和资源的操作,当大量用户同时直接访问数据库的时候,效率将非常低,如果将数据持久化就不需要每次从数据库读取数据,直接在内存中对数据进行操作,这样就节约了数据库资源,而且加快了系统的反映速度。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2