java EE基础概念了解

Java Web应用的核心技术

后台:jsp、servlet、EJB
前台:html、html5、css、js、flash
框架:strut1、strut2、hihernate、spring     http://www.open-open.com/07.htm
web容器(web服务器):tomcat、weblogic、 Apache、 WebSphere  

说明: J SP(Java Server Pages) 技术是基本的Servlet技术的继承,但是JSP在Servlet的基础上有所创新,他们可以互相协作,互相补充对方的不足。是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 JSP页面都被编译成为Java Servlets



架构、框架、模式的区别:
http://blog.csdn.net/nizhigang2000/article/details/58371
架构也就是通常所说的软件体系结构(software architecture).体系结构一般包括三个部分:构件,用于描述计算;连接器,用于描述构件的连接部分;配置,将构件和连接器组成一个有机整体.
框架 面向某领域(包括业务领域,如ERP,和计算领域,如GUI)的、可复用( 框架的首要目的是为复用.因此,一个框架可有其体系结构,用于指导该框架的开发 )的“半成品”软件,它实现了该领域的共性部分,并提供一系列定义良好的可变点以保证灵活性和可扩展性。可以说,软件框架是领域分析结果的软件化,是领域内最终应用系统的模板。 
模式 其实就是解决某一类问题的方法论。你把解决某类问题的方法总结归纳到理论高度,那就是模式(主要有23种, 还有其他的很多模式,估计有100多种 )。 Alexander给出的经典定义是:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需在重复相同的工作。 模式有不同的领域,建筑领域有建筑模式,软件设计领域也有设计模式。当一个领域逐渐成熟的时候,自然会出现很多模式。
区别:架构是指导整个系统的如何实施和开发,系统各个模块采用的是 框架开发,而模式是各个模块内部具体实现采用的解决方案。



Model1与Model2
Model1的架构,(主要分为两层,视图层和模型层。那么,项目中的业务流程该如何处理呢?实际上,model1模式中jsp就充当了这个角色,也就是说一切的业务逻辑都是由jsp来处理的,通常是通过jsp直接调用模型来处理相关的业务,model1是以jsp为中心的。)使用JSP直接处理Web浏览器的请求,并使用JavaBean处理业务逻辑。虽然编写代码十分容易。但JSP混淆了MVC模型中的视图层和控制层,高度耦合的结果是JSP代码十分复杂,后期维护困难。

Model2的架构,也就是MVC架构模式( MVC分层架构、 分层思想、分层模式 ),MVC不是设计模式, (注意:模式分两种,一种是架构模式(整个系统的解决方案),一种是设计模式(局部问题的解决方案) 一个架构由多个设计模式组成 ,把一个web软件项目分成三层,包括视图层、控制层、模型层。model2中的三层结构都包含了那些内容: 视图层包括jsp、html、css、javascript、图片等,控制层由servlet构成,模型层由javaBean构成(包括dao、vo、action等) 这样的分层思想,不仅提高的代码的重用率、项目的扩展性,而且大大降低了项目的维护成本。将Servlet的概念引入架构体系中,使用它来分配视图层JSP的显示页面,同时调用模型层的JavaBean来控制业务逻辑。这是一个良好的MVC模式。



各种概念解析
PO(persistant object) 持久对象, hibernate里的 实体bean就是个PO,也叫POJO;
在o/r映射的时候出现的概念,如果没有o/r映射,没有这个概念存在了。通常对应数据模型(数据库),本身还有部分业务逻辑的处理。可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作。

VO(value object) 值对象, struts 里的 ActionForm 就是个VO;
通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.个人觉得同DTO(数据传输对象),在web上传递。

TO(Transfer Object),数据传输对象
在应用程序不同tie(关系)之间传输的对象

QO:查询对象, hibernate里的Criteria 就相当于一个QO;

BO(business object) 业务对象 
从业务模型的角度看,见UML元件领域模型中的领域对象。封装业务逻辑的java对象,通过调用DAO方法,结合PO,VO进行业务操作。

POJO(plain ordinary java object) 简单无规则java对象
纯的传统意义的java对象。就是说在一些Object/Relation Mapping工具中,能够做到维护数据库表记录的persisent object完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法。我的理解就是最基本的Java Bean,只有属性字段及setter和getter方法!。

DAO(data access object) 数据访问对象 ——同时还有DAO模式,  在使用hibernate的时候我们会定义一些查询的方法,这些方法写在接口里,可以有不同的实现类.而这个接口就可以说是个DAO.    是一个sun的一个标准j2ee设计模式,这个模式中有个接口就是DAO,它负责持久层的操作。为业务层提供接口。此对象用于访问数据库。通常和PO结合使用,DAO中包含了各种数据库的操作方法。通过它的方法,结合PO对数据库进行相关的操作。夹在业务逻辑与数据库资源中间。配合VO, 提供数据库的CRUD(增删改查)操作, 用来访问数据库实现数据的持久化(把内存中的数据永久保存到硬盘中)

DTO:数据传输对象——同时还有DTO模式(很少用,基本放入到DAO中,只是起到过渡的作用。)

O/R Mapper 对象/关系 映射ORM   
定义好所有的mapping之后,这个O/R Mapper可以帮我们做很多的工作。通过这些mappings,这个O/R Mapper可以生成所有的关于对象保存,删除,读取的SQL语句,我们不再需要写那么多行的DAL代码了。

实体Model(实体模式) 
DAL(数据访问层) 
IDAL(接口层) 
DALFactory(类工厂) 
BLL(业务逻辑层) 

BOF     Business Object Framework       业务对象框架 
SOA     Service Orient Architecture     面向服务的设计 
EMF     Eclipse Model Framework         Eclipse建模框架

你可能感兴趣的:(javaEE基础,javaEE相关概念)