浅谈SSH框架的形成原因

我们考虑这样一个功能,提供一个表单,让用户输入用户名和密码,提交之后,服务器程序通过查看数据库中有无和输入用户名相同的用户,如果有,就提示登录失败,如果无,就提示登录成功。

1、第一种架构

         client--------------------jsp------------------DB

      架构说明:表单和服务器处理程序全部写到jsp文件中。

      该架构的优点是:架构简单。

      该架构的缺点是:业务逻辑代码和访问数据库代码没有分开,不利于维护!

2、第二种架构

         client-------jsp------usermanger---------user---------DB

       架构说明:三层架构,展现层(jsp) 业务逻辑层(usermanger(管理层)+user(实体层)) 数据层(DB)

       优点:增加业务逻辑层,使得jsp只负责展现。

       缺点:访问数据库的代码繁琐。

3、第三种架构

      client---------jsp----------usermanger-------hibernate------DB

                          jsp--------user

      架构说明: 用hibernate访问数据库

      优点:使用面向对象的方式访问数据库,代码变简单

      缺点:缺少DAO层,访问数据库的代码无法复用!

4、第四种架构

      client----jsp----usermanager----userDAO----userDAOImply(hibernate)----DB

                  jsp----------user

       架构说明:四层架构:展示层(jsp)、业务逻辑层(usermanger+user)、DAO层  (UserDaoAO+userDAOImply)、数据层(DB)。  增加数据访问层DAO,并将数据访问层设置为接口。

        优点:增加了DAO层,使得DAO层的代码可以复用!

        缺点:业务逻辑层不易扩展!如果想改变业务逻辑,必须重新开发业务逻辑层usermanger

  5、第五种架构

    client--jsp--usermanager---UsermangerImly--userDAO---userDAOImply(hibernate)---DB

              jsp----------user

         架构说明:四层架构:将业务逻辑层的管理模块usermanger设为接口,增加实现类usernmangerimpl

         优点:业务逻辑层的管理模块可扩展。

         缺点:视图层(展现层)不易扩展!

 6、第六种架构

client--jsp--struts2filter-action--view:jsp--usermanager--UsermangerImly--userDAO--实现(hibernate)-DB

                                  action------------------usermanger

                                      

        架构说明:增加struts框架,生成了MVC架构,

        C为(struts2filter+action)  V为(view:jsp)

        M为(usermanager--UsermangerImly--userDAO--实现(hibernate)-DB) 

        优点:引入struts框架,使得项目容易管理。MVC架构把数据处理、程序输入输出控制及数据显示分离开来,并且描述了不同部件的对象间的通信方式,使得软件可维护性,可扩展性、灵活性以及封装性大大提高;MVC(Model-View-Controller)把网站的组成分解为M(模型) 、V(视图) C(控制器)三种部件。视图表示数据在屏幕上的显示。控制器提供处理过程控制,他在模型和视图之间起连接作用。控制器本身不输出任何信息和做任何处理,它只负责把用户的请求转成针对Model的操作,和调用相应的视图来显示Model处理后的数据。

         缺点:不具有IOC(控制反转)和AOP(面向切面编程)的功能

7、第七种架构

client--jsp--struts2filter-action--view:jsp--usermanager--UsermangerImly--userDAO--实现(hibernate)-DB

                                   action------------------usermanger

          

           架构说明:增加spring框架。

           优点:具有IOC特性,减少代码中的new,大部分属性赋值的操作架构spring容器来完成

                   具有AOP特性,在不影响正常的业务逻辑的情况下,在逻辑中增加类似于拦截器的功能。

           缺点:架构比较复杂。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值