JavaEE概述及MVC模型

写这篇文章之前,参考了好多别人的文章,还有我的一些想法,与大家共勉。

1.JavaEE基本概念:

(1)官方定义:JavaEE 是一个开发分布式企业级应用的规范和标准
(2)原名J2EE,JavaEE应该是J2EE的延伸。
(3)J2EE是一个标准,这个标准不仅定义了基本的规范和接口,也有一些比较固定的架构模型。
(4)J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。

2.JavaEE的技术内容:

表示层技术:

HTML
JavaScript
Ajax:主要功能是异步的向服务器发送请求

中间层技术:

Jsp:显示动态内容的服务器网页。

servelet:接受客户端请求,并作出响应的Java程序。servelet是中间层技术的重要组成部分,控制着其他组件。

JavaBean:JavaEE的模型组件。

Struts2:扩展了servlet。

数据库技术:

JDBC:(Java DataBase Connectivity)连接并且操作数据库。

hibernate:数据层框架技术,提供了以对象的形式操作关系型数据库的功能。

3.JavaEE包含13种技术:

WebService ,Struts,hibernate,spring,Jsp,Servler,JJSF,EJB,JDBC,JNDI,XML,JavaSE

4.JavaEE体系结构(三层结构):

三层结构:

 表现层(UI):展现给用户的界面。

 业务逻辑层(BLL):对数据层的操作,对数据业务逻辑处理。

 数据访问层(DAL):操作数据库,针对数据的增添、删除、修改、更新、查找等。

三层结构的目的

1.提供程序的可扩展性,一般需要将表示与业务逻辑分离,业务逻辑和数据处理分离。

2.为了“高内聚,低耦合“的思想。
 注意:(内聚:一个模块内各个元素彼此结合的紧密程度;耦合:一个软件结构内不同模块之间互连程度的度量)。

三层结构的优点

1、开发人员可以只关注整个结构中的其中某一层;  

2、可以很容易的用新的实现来替换原有层次的实现;  

3、可以降低层与层之间的依赖;

4、有利于标准化;
 
5、利于各层逻辑的复用。

6、扩展性强。不同层负责不同的层面,如PetShop可经过简单的配置实现Sqlserver和oracle之间的转换,当然写好了也可以实现B/S与C/S之间的转换。

7、安全性高。用户端只能通过逻辑层来访问数据层,减少了入口点,把很多危险的系统功能都屏蔽了。

8、项目结构更清楚,分工更明确,有利于后期的维护和升级

三层结构的缺点:

1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。

2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码。

3、增加了代码量,增加了工作量。

经验:
小项目,以后变动不大的不用三层结构。
三层结构的最大优点是它的安全性。

5.MVC模型:

1.组成:

MVC是模型(model)、视图(view)、控制(controller)这三个单词上的首字母组成。

2.目的:

为了进一步提高程序的可扩展性,复用性,真正实现表现层和业务逻辑层分离——控制器是为了实现上述而存在的。

3.与三层结构的对应关系:

模型层(model)实现系统中的业务逻辑,通常JavaBean实现。

视图层(view)用于与用户交互,通常JSP实现。

控制层(controller)是模型层和视图层沟通的桥梁。

4.典型模式:

MVC最典型的模式就是:Jsp+servelet+JavaBean模式。

5.处理过程:

MVC的处理过程:对于每一个用户输入的请求,首先被控制器接收,控制器决定用哪个模型来进行处理,然后模型通过业务逻辑层处理用户的请求并返回数据,最后控制器确定用哪个视图模型,用相应的视图格式化模型返回数据,并通过显示页面呈现给用户。
JavaEE概述及MVC模型

6.MVC模型的好处:

低耦合性(视图层和业务层分离);

高重用性和可适用性(允许不同式样的视图访问同一个服务器端的代码,比如web的HTTP浏览器和无线浏览器WAP);

较低的生命周期成本(开发和维护用户接口的技术含量降低);

部署快速(不同部件的开发人员专注于自己那个模块);

可维护性(分离视图层和业务逻辑层使Web应用更易于维护和修改);

有利于软件工程化管理(由于采用分层的思想);

JavaEE概述及MVC模型