1.开发架构的形式:
一般我们在学习或者实际开发中,所了解的开发架构都是基于两种形式:C/S架构(客户端/服务器)和B/S架构(浏览器/服务器).而在JavaEE的开发中,几乎全部都是基于B/S架构开发的.而在B/S架构中,系统和标准的三层架构包括:表现层,业务层,持久层.也就是我们刚开始接触Java Web项目所了解的web层,service层和dao层.
2.三层架构的概述:
表现层:
也就是我们刚接触web项目常说的web层.它负责接受客户端请求,向客户端响应结果,通常客户端使用http协议请求web层,
web层需要接受http请求并完成http响应.(在这一层我们主要是接受前台所传来的数据,并对数据进行封装使用.)
而表现层又包括展示层和控制层:展示层负责结果的展示,控制层负责接受请求.(展示和控制属于MVC的设计模式)
表现层依赖业务层,接受到客户端请求一般会调用业务层(也就是service层)进行业务处理,并将处理结果响应给客户端.
表现层的设计一般都使用MVC模型.(MVC是一种框架模式,它是一种设计模式,当然也有很多人把它将其和框架混为一谈,框架和设计模式是有区别的,具体的区别大家可以去相关的论坛了解下.)
业务层:
也就是我们说的service层.它负责业务逻辑的处理,和web项目的需求是紧密相关的,web层依赖业务层,但业务层不依赖web
层.(也就是我们会在web层调用service来实现具体的功能,这个调用关系就使得web层依赖service层.)
业务层在业务处理时可能会依赖持久层,如果要对数据持久化需要保证事务的一致性.也就是说,我们需要在业务层控制事务.(这一层主要是处理业务逻辑,
管理事务,调用dao层进行数据库交互.)
持久层:
也就是我们常说的dao层.负责数据的持久化,包括数据层(也就是数据库)和数据访问层,数据库是对数据持久化的载体,
数据访问层是业务层和持久层交互的接口,业务层需要通过数据访问层将数据持久化到数据库中.总的来说,持久层就是和数据
库进行交互,对数据进行CRUD(增删改查)操作的.(这一层主要是进行数据库的交互,也就是增删改查,并将结果的数据持久化到数据库保存.)
=========================================================================
大家可以了解下这里面涉及到的MVC设计模式,持久化,以及每一层所用到的技术等等,这样在学习框架的过程中会更容易理解框架的思想和使用了!还有就是动态代理,工厂模式等,这些都是和SSH(Struts2+Spring+Hibernate)框架的底层实现息息相关的.