JavaWeb_12 三层架构[新闻发布系统08]

本文介绍了JavaEE的开发模式,包括Model1及其优化、Model2(JSPModel2)模式,以及三层架构的概念。Model1模式早期应用于小型项目,而Model2则引入了MVC结构。三层架构分为表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL),实现了高内聚、低耦合,提高了可维护性和扩展性。然而,三层架构也可能导致性能下降和代码量增加。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、JavaEE开发模式

(1)JavaEE开发模式
        开发模式: 指模式在开发过程中总结出的"套路",总结出的一套约定俗称的设计模式。

(2)JavaEE模式

      ① model1模式——【①】JSP Model1是JavaWeb早期的模型,它适合小型Web项目,开发成本低!Model1第一代时期,服务器端只有JSP页面,所有的操作都在JSP页面中,连访问数据库的API也在JSP页面中完成。也就是说,所有的东西都耦合在一起,对后期的维护和扩展极为不利。


 

     【②】JSP Model1优化后有所改进,把业务逻辑和数据访问的内容放到了JavaBean(狭义JavaBean:实体类,广义JavaBean:实体类,dao,service,工具类)中,而JSP页面负责显示以及请求调度的工作。虽然第二代比第一代好了些,但还让JSP做了过多的工作,JSP中把视图工作和请求调度(控制器)的工作耦合在一起了。


  

 ② model2模式——JSP Model2模式已经可以清晰的看到MVC完整的结构了。JSP:视图层,用来与用户打交道。负责接收数据,以及显示数据给用户;Servlet:控制层,负责找到合适的模型对象来处理业务逻辑,转发到合适的视图; JavaBean:模型层,完成具体的业务工作,例如:开启、转账等。

 ③ 三层架构——三层架构就是为了符合“高内聚,低耦合”思想,把各个功能模块划分为表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)三层架构,各层之间采用接口相互访问,并通过对象模型的实体类(Model)作为数据传递的载体,不同的对象模型的实体类一般对应于数据库的不同表,实体类的属性与数据库表的字段名一致。


二、三层架构

(1)表示层(UI)   web层   显示层
                   表示层又称表现层或视图层或用户界面层 UI(User Interface layer):就是实现与用户交互的功能,将用户的需求传达和反馈,即用于接受用户输入的数据,同时反馈相关的输出数据展示给用户。
          【职责】收集用户的数据和需求、展示数据
(2)业务逻辑层(BLL)
                   业务逻辑层 BLL(Business Logic Layer):是连接表示层和数据访问层的桥梁,实现业务逻辑的功能。可以对接受到的数据进行处理、执行相关的计算等一些逻辑操作。业务逻辑层通过调用数据访问层的各种操作方法,将这些方法按一定的逻辑组合起来实现具体需求,将这个过程比作搭积木的过程。
            【职责】数据加工处理、处理DAO完成业务实现
(3)数据访问层(DAL )
                      数据访问层又称持久层 DAL (Data access layer):主要用来操作数据库中的数据,实现数据的增加、删除、修改、查询等操作,并将操作结果反馈到业务逻辑层 BBL。比如在数据访问层定义了一些操作数据的方法,即增、删、改、查的方法,将这些方法比作一块块的积木。
             【职责】想业务层提供数据,将业务层加工后的数据同步到数据库
 创建三级架构:


 


 

总结

三层架构的优势:

1,结构清晰、耦合度低
2,可维护性高,可扩展性高
3,利于开发任务同步进行, 容易适应需求变化


三层架构的优劣势:

1、降低了系统的性能。这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成。
2、有时会导致级联的修改。这种修改尤其体现在自上而下的方向。如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码
3、增加了代码量,增加了工作量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值