j2e应用概述

过年也过完了,现在正式开始进入j2e的整理。现在开篇第一篇,整理一下j2e应用和开发环境。j2e应用提供的跨平台性,开放性已经各种远程访问的技术,为异构系统的良好整合提供了保证。注意这个是有一个异构系统,也就是说一个大的项目里面分布式整合了好多不同的平台 ,不同的系统,那么这就是一个复杂的异构系统。废话不多说,现在开始:

首先,什么是j2e?

2006年sun提出了java EE的概念,与之同步出现了2个主要规范,JSF1.2和Ejb3.0,但是应用依然不如使用SSH组合应用广泛。对于现在的项目来说,使用struts2的已经很少的,现在都是在使用springMVC来做前端控制器。SSH三大框架俗称轻量级j2e平台,关于什么是轻量级什么是重量级我后面会有整理,这里只需要明白基于轻量级的j2e平台可以运行在普通的web容器中,无需Ejb容器的支持,且一样具有稳定的性能和极高的可扩展性,可维护性。

  • j2e应用的经典分层模型

每天在玩j2e,说白了就是玩6块东西。

1,数据库:很明显了,数据库用来存放数据,序列化对象,进行CRUD操作。

2,领域对象层:也就是我们常说的pojo,也就是entity,也就是VO,也就是domain object。在这里说明下pojo,实际中我们一般都不这样子来喊,一般都是说实体,这个东西就是实体。他的定义是Plain Old Java Object,也就是说说传统的,古老的,普通的java对象。这一层是直接关联数据库的表的,我们在做的ORM映射都是在做这个领域对象和数据库中表的映射的。实际开发中呢,还有另外的一层,我自己成为PO,也就是持久层对象,他里面可以再封装一层VO,用来在控制器和页面交互使用,举一个具体的例子,我现在有一个情节设计的数据结构有点复杂了,页面上显示一个list,但是list里面丢着是好多的map,或者说是map里面value存的是一个list集合,那么这个时候就要设计VO的时候就设计成简单的单表,在ORM映射的时候这样子很方便的,我自己在DAO层做处理,转换成PO。

3,DAO层:Date Access Object,数据访问对象,这一层由系列的DAO组件构成,这些DAO单纯的访问实体对象,实现了对数据库的CRUD的操作。为了使得业务逻辑组件的实现和DAO组件的实现分离,我们可以为每一个DAO组件提供接口,在编码的时候面向接口编程,这样子就很好的解耦了。

4,service层:业务逻辑层,这一层由系列的业务逻辑对象组成。这一层一般的都要依赖上面的DAO层,在这里可以使用门面模式,将上面的DAO的每一个方法组合成自己的一套业务逻辑方法。这里值得注意的是这些业务逻辑方法仅仅负责实现业务逻辑,不应该进行数据库的访问,因此,业务逻辑组件中不应该出现原始的hibernate,JDBC等API。

5,controller层:控制器层。这一层使用MVC设计模式,也就是说这些控制器用于拦截用户的请求,并调用业务逻辑组件的业务逻辑方法,处理用户请求,并根据处理结果转发到不同的表现层组件。

6,表现层:也就是我们说的页面了。我使用最多的是JSP,当然还有Velocity页面,PDF文档试图等等,现在比较流行的HTML5也都是表现层,负责收集用户请求,并显示处理结果。

以上各层组件之间以松耦合的方式联系在一起,各组件之间不以硬编码的方式进行耦合,这种方式是为了应用以后的扩展性。在具体一点就是说,比如,变现层使用jsp用于页面显示,控制器层使用springMVC来交互前后台,DAO层使用hibernate来进行ORM映射,数据库层使用oracle来处理数据,整个组件之间使用spring来管理,这样子就形成了一个有效的完成的j2e体系了。

最后说一下j2e要达到的终极目标,因为一个系统以后会维护,升级,产品也会迭代更新,这样子就要求我们的软件系统要具有良好的伸缩性。以后我们在写代码的时候要尽量的让应用的各组件以松耦合的方式组织在一起,让应用之间的耦合停留在接口层次,而不是代码层次。

j2e的概述基本就讲这么多,接下来我会详细的讲解下常用的服务器。也就是tomcat,之前使用的websphere和jetty暂时先不讲,以后再说。

时间: 2024-12-12 15:48:46

j2e应用概述的相关文章

第一课 MongoDB 概述与安装

1.课程大纲 本次课主要介绍 MongoDB 背景知识和 MongoDB 的安装与配置,让大家对 MongoDB 有一个初认识. 其基本的知识点包含: NoSQL数据库概述 MongoDB 数据库简单介绍 Linux 下安装 MongoDB 数据库 Mac 和 Windows 下安装 MongoDB 数据库 2.课程简单介绍 MongoDB是由MongoDB.inc研发的一款NoSQL类型的文档型数据库,MonogoDB名字来源于英文单词humongous,这个单词的意思是巨大无比.暗喻Mong

java面向对象:面向对象的思想和概述

1:面向对象思想 面向对象是基于面向过程的编程思想. 面向过程:强调的是每一个功能的步骤 面向对象:强调的是对象,然后由对象去调用功能 2:面向对象的思想特点 A:是一种更符合我们思想习惯的思想 B:可以将复杂的事情简单化 C:将我们从执行者变成了指挥者 开发,设计,特征 面向对象开发 就是不断的创建对象,使用对象,指挥对象做事情. 面向对象设计 其实就是在管理和维护对象之间的关系. 面向对象特征 封装(encapsulation) 继承(inheritance) 多态(polymorphism

java基础总结——概述

  一.java语言概述 来自维基百科 https://zh.wikipedia.org/wiki/Java Java是一种计算机编程语言,拥有跨平台.面向对象.泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发. 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言,应用在电视机.电话.闹钟.烤面包机等家用电器的控制和通信.由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划.随着1990

译-BMC Remedy Action Request System权限控制概述

原文链接:Access control overview 说明: BMC Remedy Action Request System是BMC ITSM产品平台,简称AR 或者Remedy,可实现基于ITIL标准的整个IT管理流程的实施定制.该平台可实现多种权限级别的管理,包括人员.组.角色,以及表.字段.行级别等.本文可以用作其他对权限要求比较精细的系统参考. 为了便于理解,部分名词翻译如下: Server:服务器Form (or table):表单Field (or column):字段Acti

Aircrack-ng: (1) 概述

作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 目录 一.概述 二.工具与命令介绍 Linux命令 (1) ifconfig (2) macchanger (3) iwconfig (4) iwlist Aircrack-ng 工具 (1) airmon-ng (2) airodump-ng (3) aireplay-ng (4) aircrack-ng 其他Aircrack-ng工具 一.概述 Aircrack-ng是一款用于破解无线

NHibernate框架与BLL+DAL+Model+Controller+UI 多层架构十分相似--『Spring.NET+NHibernate+泛型』概述、知识准备及介绍(一)

原文://http://blog.csdn.net/wb09100310/article/details/47271555 1. 概述 搭建了Spring.NET+NHibernate的一个数据查询系统.之前没用过这两个框架,也算是先学现买,在做完设计之 后花了一周搭建成功了.其中,还加上了我的一些改进思想,把DAO和BLL之中相似且常用的增删改查通过泛型T抽象到了DAO和BLL的父类中,其DAO 和BLL子类只需继承父类就拥有了这些方法.和之前的一个数据库表(视图)对应一个实体,一个实体对应一

排序算法--概述和参考

1 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存. 我们这里说说八大排序就是内部排序. 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序.堆排序或归并排序序. 快速排序:是目前基于比较的内部排序中被认为是最好的方法,当待排序的关键字是随机分布时,快速排序的平均时间最短: 2 参考 http://blog.csdn.net/hguisu/article/details/77

Css3之高级-7 Css动画(概述、关键帧、动画属性)

一.动画概述 动画概念 - 过渡属性只能模拟动画效果 - animation 属性可以制作类似 Flash 动画 - 通过关键帧控制动画的每一步 - 使元素从一种样式逐渐变化为另一种样式 - 实现复杂的动画效果 - 浏览器兼容性 - 最新版本支持良好 - Chrome 和 Safari 需要前缀 -webkit- - FireFox 需要前缀 -moz- - Opera 需要前缀 -o- 动画示例 - 声明动画 - 创建一个已命名的动画 - 使用 @keyframes 声明动画的关键帧 - 为元

android动画详解一 概述

动画和图形概述 Android 提供了大量的强大的API以应用于UI动画和绘制2D和3D图形.下面各节向你描述了这些API的预览和系统能力以帮助你决定怎么才是达到你需求的最佳方法. 动画 Android 框架提供了两个动画系统: 两种动画系统都是切实可用的,但是一般情况下属性动画系统是被首推使用的.因为它更灵活并且提供了更多的特性.在此两系统之外,你还可以使用Drawable动画,它使得你可以加载drawable资源并且一帧帧的显示它们. Property动画 从Android 3.0 (API