当也许能够说是与你的初恋。妙龄的少女開始有些羞涩。是时候说说SHH的故事了。SHH是指Spring+Struts+Hibernate。还记研究生复试那天的面试,老师说了一句话Spring的核心是控制反转(IOC)和面向切面(AOP),你来说说控制反转IOC吧?。

Struts也是一个开源的框架,是MVC经典设计模式中的一个经典产品。Hibernate相同是开源框架,核心的接口与类有Session、SessionFactory、Transaction、Query、Criteria和Configuration。

Struts2是一个具有非常好有用价值的开源的Web MVC框架,主要是用来控制整个系统流程。

它由三个部分组成,核心控制器、业务控制器和用户实现的业务逻辑组件:

这里简单地理解一下它的原理:假设用户请求以action结尾,该请求将被转入Struts 2框架处理。

Struts 2框架获得了*.action请求后,将依据*.action请求的前面部分决定调用哪个业务逻辑组件,比如,对于add.action请求,Struts 2调用名为add的Action来处理该请求。

Hibernate框架是一种对象关系映射,顾名思义能够理解成应用程序和数据库之间的桥梁。完毕面向对象编程语言到关系型数据库的映射。

Hibernate能够说是一个提供数据库服务的中间件,进行数据持久化。能够从一张图看看这个框架:

能够看出Hibernate的核心接口主要有5个:SessionFactory单个数据库映射关系编译后的内存镜像实现Hibernate实例共享、Session应该程序与持久存储层之间交互操作、事物Transaction封装系统底层的事务操作和訪问的接口、Query持久化对象和数据的查询操作、Configuration创建SessionFactory对象。

Spring框架是一个开源的框架,贯穿表现层、业务层和持久层。减少各层组件的耦合度。非常好地实现解耦的效果。

Spring基于IOC控制反转核心机制和AOP面向切面编程的思想,能与多种持久层技术整合,是非常好地Web MVC框架:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

可见Spring框架由7个模块组成,各个模块相互独立也有关联。

他们之间的关系在之前的博客中我们有过交流,进一步的知识须要再深入学习。

SSH框架解析的更多相关文章

  1. SSH框架应用解析

    一.什么是SSH SSH 不仅仅只是一个框架,而是由多个框架集成而来,是 struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架,结构清晰.可复用性好. ...

  2. 简化SSH框架的整合

    一.开发环境: (1)    OS:Windows 7 (2)    DB:MySql 5.1.6 (3)    JDK:1.8.0_17 (4)    Server:Apache Tomcat 8. ...

  3. SSH框架简化(struts2+spring+hibernate)

    目的: 通过对ssh框架有了基础性的学习,本文主要是使用注解的方式来简化ssh框架的代码编写. 注意事项: 1.运行环境:Windows 8-64位,Eclipse(开发工具),jdk1.8.0_91 ...

  4. 使用Spring注解来简化ssh框架的代码编写

     目的:主要是通过使用Spring注解的方式来简化ssh框架的代码编写. 首先:我们浏览一下原始的applicationContext.xml文件中的部分配置. <bean id="m ...

  5. SSH框架总结(框架分析+环境搭建+实例源码下载) 《转》

    这篇文章比较易懂,易理解: 首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层W ...

  6. SSH框架总结(框架分析+环境搭建+实例源码下载)

    来源于: http://blog.csdn.net/shan9liang/article/details/8803989 首先,SSH不是一个框架,而是多个框架(struts+spring+hiber ...

  7. [Java] SSH框架笔记_框架分析+环境搭建+实例源码下载

    首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序. 集成SSH框 ...

  8. 【转载】SSH框架总结(将网上朋友写的给整合了下)

    一.Struts 在没有学习SSH框架前,我们一般采用Jsp+javabean+servlet开发,这里就是MVC架构.而Struts其实就是替代了Servlet,我们知道Servlet在一般的开发中 ...

  9. SSH框架应用中常用Jar包用途介绍

    struts2需要的几个jar包:1)xwork-core-2.1.62)struts2-core-2.1.83)ognl-2.7.34)freemarker-2.3.155)commons-io-1 ...

随机推荐

  1. php新浪云链接mysql与storage

    1.首先要有一个新浪云服务器 2.链接数据库获取数据 mysql CREATE TABLE Persons(FirstName varchar(255),LastName varchar(255)); ...

  2. JVM监测分析JConsole

    一.基本操作   启动界面 1.JConsole是什么 从Java 5开始引入了JConsole.JConsole是一个内置Java性能分析器,可以从命令行或在GUI shell中运行.您可以轻松地使 ...

  3. javascript快速入门15--节点

    节点类型 DOM定义了Node的接口以及许多种节点类型来表示节点的多个方面! Document——最顶层的节点,所有的其他节点都是附属于它的. DocumentType——DTD引用(使用<!D ...

  4. elasticsearch term 查询之一

    1.前言 term级别查询将按照存储在倒排索引中的确切字词进行操作,这些查询通常用于数字,日期和枚举等结构化数据,而不是全文本字段. 或者,它们允许您制作低级查询,并在分析过程之前进行. term级别 ...

  5. pip install py-stringsimjoin error: INCLUDE environment variable is empty

    在用pip install py-stringsimjoin的时候报错error: INCLUDE environment variable is empty,后来在网上搜索下了说是需要下载安装VCF ...

  6. hibernate hql 语句中 in 的用法

    例子描述查询一些班级中的学生 /** * * @param city * @return */ public List<Student> studentList(final Integer ...

  7. 倍福TwinCAT(贝福Beckhoff)应用教程12.2 TwinCAT控制松下伺服 NC初步

    在前面我们已经学会了使用贝福自带的调试软件完成试运行,接下来是使用TWINCAT PLC实现这个功能,右击PLC添加一个PLC项目   在VISUs上右击添加一个HMI人机界面   目前PLC程序和人 ...

  8. javascript - 全局与局部作用域

    // 全局作用域 var globalNumber = 1; // 挂载在window上的变量或函数 -> 全局作用域 function InternalScope() { // 局部作用域 / ...

  9. Notepad++输入模式之改动模式、插入模式

    notepad++光标是直的,怎样让它变成竖的? 通常光标是竖的.为插入模式,光标在字符之间时输入,内容会随输入的内容向后移动,新输入的内容不会替换后面的内容. 当按一下"Insert&qu ...

  10. jsoup爬虫简书首页数据做个小Demo

    代码地址如下:http://www.demodashi.com/demo/11643.html 昨天LZ去面试,遇到一个大牛,被血虐一番,发现自己基础还是很薄弱,对java一些原理掌握的还是不够稳固, ...