了解什么是ssh以及什么是ssm

一、什么是ssh?

  1. SSH在J2EE项目中表示了3种框架,即 Spring + Struts +Hibernate。SSH不是一个框架,而是以struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架,其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理Struts和Hibernate。

  2. SSH框架的系统从职能上分大致可以分为四层:表示层、业务逻辑层、数据持久层和域模块层(实体层)。四层的作用如下:

  • 表示层:为用户提供交互操作界面,这一点不论是对于Web还是WinForm都是如此,就是用户界面操作。
  • 业务逻辑层:负责关键业务的处理和数据的传递。复杂的逻辑判断和涉及到数据库的数据验证都需要在此做出处理。根据传入的值返回用户想得到的值,或者处理相关的逻辑。
  • 数据访问层:负责数据库数据的访问。主要为业务逻辑层提供数据,根据传入的值来操作数据库,增、删、改、查。
  • 实体类层:用于描述实例,所有的实例就是整个项目的操作对象,贯穿整个层次框架。
  1. 系统的基本业务流程是: 在表示层中,首先通过JSP页面实现交互界面,负责接收请求(Request)和传送响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。在业务层中,管理服务组件的Spring IOC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。

二、什么是ssm?

  1. ssm指的是 SpringMVC 做控制器(controller),Spring 管理各层的组件,MyBatis 负责持久化层。
  • spring MVC :
    是一个基于mvc的web框架,拥有控制器,作用跟Struts类似,接收外部请求,解析参数传给服务层。
    点击查看springMVC运行流程
    MVC是指:
    C - Controller:控制器。接受用户请求,调用 Model 处理,然后选择适的View户。
    M - Model:模型。业务处理模型,接受Controller的调遣,处理业务,处理数据。
    V - View:视图。返回给客户看的结果。
    说这么多举个例子吧

    你去饭店吃饭,坐下来后,服务员小妹来找你点菜。你点了个宫保鸡丁,小妹就拿着你的点菜单都后厨。后厨的师傅打开食物储藏柜,找到鸡丁,一顿爆炒,装盘。小妹端起盘子回到你的桌子。这里,你就是客户,你点菜就是发出请求(Request),小妹就是Controller,后厨就是 Model,小妹最后给的盘子及里面的内容就是View,小妹给你盘子就是响应(Respond)。Controller处理客户请求,反馈给Model。Model处理,返回数据(宫保鸡丁)给Controller(小妹)。最终,你得到了一盘吃的(View)。
  • spring
  • mybatis :
    MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。MyBatis 避免了几乎所有的 JDBC 代码和手工设置参数以及抽取结果集。MyBatis 使用简单的 XML 或注解来配置和映射基本体,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
    其作用是:
    1:使用连接池,datasource,在驱动并连接的这个过程中优化并解耦
    2:统一sql存取到XML
    3:参数和结果集映射
    4:对多重复sql进行复用封装

三、共同点是什么?

  1. Spring依赖注入DI来管理各层的组件。

  2. 使用面向切面编程AOP管理事物、日志、权限等。

四、不同点是什么?

  1. Struts2 和 SpringMVC 控制器(controller)控制视图和模型的交互机制的不同,

  2. Struct和SpringMVC都是负责取转发的,但是两者针对request的请求上面区别很大,Struct是针对一个Action类来进行请求的,即一个Action类对应于一个请求,所以类拦截,请求的数据类共享。而Spring-MVC则是针对于方法级别的请求的,也就是一个方法对应于一个请求,属于方法拦截,请求的数据方法不共享。

  3. Spring-MVC的配置文件相对来说较为少,容易上手,可以加快软件开发的速度,亲身体验有效。

  4. Spring-MVC的入口是Servlet级别的而Struct的级别是Filter级别的。

  5. Hibernate是一种O/R关系型,即完成数据库表和持久化类之间的映射,而MyBitas是针对的SQL-Maping,个人理解是一种Hibernate把数据库给封装好以后,可以调用相应的数据库操作语句SQL,而MyBitas则是用的原始的数据库操作语句,Hibernate优化起来相对MyBitas较难。

  6. MyBitas入门较快,而Hibernate掌握起来相对较难。

  7. 针对高级查询,Mybatis需要手动编写SQL语句,以及ResultMap。而Hibernate有良好的映射机制,开发者无需关心SQL的生成与结果映射,可以更专注于业务流程。

  8. Hibernate数据库移植性很好,MyBatis的数据库移植性不好,不同的数据库需要写不同SQL。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,036评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,046评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,411评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,622评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,661评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,521评论 1 304
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,288评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,200评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,644评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,837评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,953评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,673评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,281评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,889评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,011评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,119评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,901评论 2 355