【Java】浅析SSH框架

【前言】

      近来璐小编在进行SSH框架的网上商城项目,第一次接触SSH框架,也是第一次使用新的IDE——MyEclipse 10。万事开头难是真的,就从一开始搭建环境的各种jar包,搞的一个头两个大,再到显示出第一个界面,就生生进行了近一个星期,当时也无暇对SSH框架进行了解和思考。
      现在跨过了第一道大坎,对IDE和代码熟悉了一些,便要好好了解一下SSH框架了。

【SSH框架】

      SSH可不是一个框架,而是多个框架(Struts+Spring+Hibernate)的集合。这句话是我在学习SSH知识的时候,印象深刻的第一句。
      集成的SSH框架从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层(实体层),用来帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。
      以这三个字母开头的三个单词究竟代表了什么?下面就是QA环节~~  QAQ

                                              

      ---------------------------------------------------------------------------------------
 Q:  Struts2框架:和MVC的关系?
 A:   我们使用Struts框架作为系统的整体基础架构,负责MVC(数据 model  页面展示 View    处理具体业务 controller)的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持。
      通过应用Struts框架,最终用户可以把大部分的关注点放在自己的业务逻辑和映射关系的配置文件中。
      本次璐小编使用的是Struts2,那么它和Struts1有什么关系呢?
      Struts2是Struts的下一代产品,是在1的和webwork的基础上进行了合并的全新的Struts2框架。Struts2以webwork为核心,采用拦截器的机制来处理用户的请求。使用ModelDriven直接封装model对象,无需集成任何Struts2的基类。Struts2详解博客戳:struts2的核心和工作原理
             
     ---------------------------------------------------------------------------------------
 Q:Spring框架:春天还是泉水?
 A:Spring给复杂的JavaEE开发带来了春天,所以myeclipse里它的文件图标是一个小绿叶,而且它是个开源框架,和泉水也沾上了关系。
      Spring是个轻量级的控制反转 (IOC)和面向切片的容器框架。它主要负责业务的处理,使用spring让我们的编写更简洁干净,也更易于管理。我对spring的理解能力还有待提高,今后争取再写写有关spring的知识。
   
       ---------------------------------------------------------------------------------------
   Hibernate框架 :蛰伏在持久层
      Hibernate 是一个开源的对象关系映射框架,他对JDBC进行了非常轻量级的对象封装,在这框架里操作数据库变成了一件怡心简单的事。它可以应用在任何使用JDBC的场合,它还可以在应用EJB的J2EE的架构中取代CMP,完成数据持久化的任务。
      上面好几次提及了“持久化”“持久层”,这究竟是什么意思呢?持久层就是把数据保存到可掉电式存储设备中,传说中的掉了电也能存储的上。大多数情况下特别是企业级应用,数据持久化往往也就意味着将内存中的数据保存到磁盘上加以固化,而持久化的实现过程通过各种关系数据库来完成。


   对应上面的三个框架,我们来整理一下SSH框架下的业务流程:

    1.在表示层,我们先通过jsp页面实现交互,传送请求 Request 和接收响应 Response,然后我们的Struts根据配置文件中的 struts-config.xml 将ActionServlet接收到的Request派给响应的action处理

    2.在业务层,管理服务组件的Spring IOC容器会向Action,提供业务模型 Model 组件和该组件的协作对象数据处理DAO 组件完成业务逻辑,并提供如事物处理,缓冲池等容器组件来提升系统的性能,并保证数据的完整性。

    3.在持久层,依赖我们轻量级Hibernate的对象化映射和数据库进行交互,处理DAO组件请求的数据,并返回处理结果。


【为什么要用框架】

      “框架是为了解决一个又一个在Web开发中所遇到的问题而诞生的。不同的框架,都是为了解决不同的问题,但是对于程序员而言,他们只是jar包而已。框架的优缺点的评论,也完全取决于其对问题解决程度和解决方式的优雅性的评论。所以,千万不要为了学习框架而学习框架,而是要为了解决问题而学习框架,这才是一个程序员的正确学习之道。”                                                                                                                   
                                                                                                                                                                                                                                                                                                                 
                         PS:为了尊重作者版权,没有知乎账号的我,特地注册了一个,感觉踏入了文青的世界~~
                         原文链接请戳 ☞ 深入浅出的理解框架(Struts2、Hibernate、Spring)与 MVC 设计模式

【小结】

      我就想简单了解一下这个集成的SSH框架,就花了一个近一个下午的时间,整体理解起来还不全面,SSH商城的项目还在进行时,会有相应博客持续更新,谢谢您的阅读~如有建议,欢迎留言评论~
      PS:文章中一再提到—— MVC ,貌似成为了璐小编下一篇博客的思路来源了~~


评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值