SSH框架探索

【前言】

  今天我们来聊聊SSH,小编最近刚刚接触到这个概念。我们在前面已经学习过了J2EE,对于java的很多语言机制都有了了解,那么紧接着我们就开始在实战中去应用他们,而我们的第一个项目就是SSH网上商城。刚开始听到这个项目的名字时以为它的名字就叫做SSH,后来才发现不是这样的,我们这里所说的SSH是指的三种框架,分别是:struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。

【预览】

  今天我们就一起来了解一下这个项目,聊聊这个框架。百度百科中对这个框架的解释是这样的:集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO(Data Access Objects)接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring做管理,管理struts和hibernate。

 【Struts】

  在ITOO中我们已经学习过一个框架叫做MVC,在这里解释一下Struts和mvc的关系。MVC是一种软件开发的架构,M指的是业务处理模型,也就是业务处理层;V指的是视图,也就是展示层;C指的是控制,也就是完成展示层和模型层之间的转接控制。struts是一种mvc架构的实现框架,为开发者提供方便的mvc使用。在SSH网上商城项目中,我们的View对应的就是JSP页面,它和HTML页面没有区别,知识前面有些标识,内容都是一样的;Model对应的是Action,当然这只是其中一个, 还有ActionForm,我们只用到了Action;Control对应的就是ActionServlet。

SSH框架探索_第1张图片

  在我们的项目中用到的是Struts2,它用到了一个拦截器机制,小编还不是特别了解,希望和大家多多交流。

 【spring】

  接触到这个概念也是在ITOO中,spring是一种容器。Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。Spring的核心是控制反转(IoC)和面向切面(AOP)。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架。

  师哥博客中写到:简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。附上一张图片,大家不了解的可以看看,下面的链接是百度百科。spring百度百科

SSH框架探索_第2张图片


 【Hibernate】

  相信做过ITOO的人都知道我们的model是采用EF映射过来的,EF就是ORM思想的具体体现,同样hibernate也是ORM思想的一种具体实现框架。

  Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

SSH框架探索_第3张图片

  hibernate的基本执行流程

SSH框架探索_第4张图片

  图片来源自贾琳师哥的博客,推荐贾琳师哥的博客给大家:SSH框架总结(框架分析+环境搭建+实例源码下载)。

 【小结】

  初次接触SSH这个框架,有很多东西需要学习,目前的认识水平有限,如有错误之处还请斧正。后面还会写这部分的博客,希望大家多多支持,多提宝贵意见。

你可能感兴趣的:(SSH框架探索)