关于Java EE的介绍

来源:互联网 发布:网络主播招聘要求 编辑:程序博客网 时间:2024/04/29 18:14

一,Java EE 有几个分层模型?
1.领域对象层(Domain Object)
2.数据访问对象层(DAO)
3.业务逻辑层
4.控制器层
5.表现层

领域对象层(Domain Object):此层由一系列的POJO(Plain Old Java Object,普通的、传统的Java对象)组成,这些对象是该系统的Domain Object,往往包含了各自所需实现的业务逻辑方法。

数据访问层(DAO):由一系列的DAO组件组成,这些DAO实现了对数据库的创建、查询、更新和删除(CRUD)等原子操作。

业务逻辑层:由一系列的业务逻辑对象组成,这些业务逻辑对象实现了系统所需要的业务逻辑方法。这些业务逻辑方法可能仅仅用于暴露Domain Object对象所实现的业务逻辑方法,也可能是依赖DAO组件实现的业务逻辑方法。

控制器层:由一系列控制器组成,这些控制器用于拦截用户请求,并调用业务逻辑组件的业务逻辑方法,处理用户请求,并根据处理结果转发到不同的表现层组件。

表现层:由一系列的JSP页面,Velocity 页面,PDF文档视图组件组成,负责收集用户请求,并显示处理结果。

二,Java EE应用的组件大致哪几类?
1.表现层组件
2.控制器组件
3.业务逻辑组件
4.DAO组件
5.领域对象组件

表现层组件:主要负责收集用户输入数据,或向客户显示系统状态。最常用的表现层技术就是JSP,但JSP不是唯一的表现层技术。表现层还可由Velocity,FreeMarker和Tapestry等技术完成。或者使用普通的应用程序充当表现层组件。甚至可以是小型智能设备。

控制器组件:对于Java EE的MVC框架而言,框架提供一个前端核心控制器,而核心控制器负责拦截用户请求,并将请求转发给用户实现的控制器组件。而这些用户实现的控制器则负责处理调用业务逻辑方法,处理用户请求。

业务逻辑组件:是系统的核心组件,实现系统的业务逻辑。通常,一个业务逻辑方法对应一次用户操作。一个业务逻辑方法应该是一个整体,因此要求对业务逻辑方法增加事务性。业务逻辑方法仅仅负责实现业务逻辑,不应该进行数据库访问。因此业务逻辑组件中不应该出现原始的Hibernate,JDBC等API。

DAO组件(Date Access Object,数据访问对象):这个类型的对象比较缺乏变化,每个DAO组件都提供Domain Object对象基本的创建,查询,更新和删除等操作,这些操作对应于数据表CRUD(创建,查询,更新,删除)等原子操作。如果采用不同的持久层访问技术,DAO组件的实现会完全不同。为了业务逻辑组件的实现分离,程序应该为每个DAO组件提供接口,业务逻辑组件面向DAO接口编程,这样才能提供更好的解耦。

领域对象组件:领域对象(Domain Object)抽象了系统的对象模型。通常而言,这些领域对象的状态都必须保存在数据库里。因此,每一个领域对象通常对应一个或多个数据表,领域对象通常需要提供对数据记录访问方式。

三,为什么要保证在业务逻辑组件之中不出现Hibernate,和JDBC等API?
是为了保证业务逻辑方法的实现,与具体的持久层访问技术分离。当系统需要在不同持久层技术之间切换时,系统的业务逻辑组件无须任何改变。有时会见到一些所谓的Java EE应用,居然在JSP页面里调用Hibernate的Configuration,SessionFactory等API,这无疑是非常荒唐的,这种应用不仅仅是使用Hibernate,完全没有脱离Model 1 的JSP开发模式—-这是相当失败的结构。实际上,不仅JSP,Servlet中也不要出现持久层API,包括JDBC,Hibernate,Entity EJB API。业务逻辑组件中都不要出现持久层API。

四,Java EE应用的优势?
致力于让应用的各组件以松耦的方式组织在一起,让应用之间的耦合停留在接口层次,而不是代码层次。

五,常用的Web服务器?
1.Tomcat
2.Jetty
3.Resin
注:采用轻量级Java EE架构:Struts 2 + Spring + Hibernate架构的软件系统无须专业的Java EE服务器支持,只需要简单的Web服务器就可以运行。
Tomcat:和java结合得最好,是Oracle官方推荐的JSP服务器。Tomcat是开源的Web服务器,经过长时间的发展,性能,稳定性等方面都非常的优秀。

Jetty:优秀的Web服务器,最大的优点是Jetty可作为一个嵌入式服务器,即:如果在应用中加入Jetty的jar文件,应用可在代码中对外提供Web服务。

Resin:目前最快的JSP,Servlet运行平台,支持EJB。商用版是需要收费。

六,常用的Java EE服务器?
1.JBoss
2.GlassFish
3.WebLogic 和 WebSphere

JBoss:开源的Java EE服务器,全面支持各种最新的Java EE规范。

GlassFish:Oracle官方提供的Java EE服务器,通常能最早支持各种Java EE规范,比如最新GlassFish可以支持目前最新的Java EE 7。

WebLogic和WebSphere:这两个是专业的商用Java EE服务器,价格不菲。性能等各方面当然也是相当出色的。

0 0
原创粉丝点击