SSH和SSM的区别

SSH是Spring+Struts+Hibernate的缩写,是一种Web应用程序开源框架。框架系统分为四层:表选层、业务逻辑层、数据持久层和模块层。

SSM是Spring+SpringMVC+MyBatis的缩写,是数据源较简单的web项目的框架。由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。

Struts2

Struts2简介  :是一个web层框架,使用   MVC设计模式   实现,用来为控制器建立模型与视图的数据交互。

MVC设计模式

MVC概念   :M是模型(Model),V是指(用户界面)视图(View),C是控制器(Controller),使用MVC的目的是将模型(M)和视图(V)的实现代码分离,使同一个程序可以使用不同的表现形式。

请求相应流程   :

Web 应用程序的主流开发技术:

Servlet

PHP

.net

Servlet缺点    :不安全性、复杂、很难管理、内容繁多、不利于分组开发。

MVC优点:

1.各司其职,互不影响

在用户提出需求时,各层只需要管理好自己的工作,给出答复

2.可重用性

多个视图可以共享一个模型,模型层共用,只需要改视图

3.降低生命周期

程序员可以集中精力于业务逻辑,界面程序员集中精力于表现形式。

4.提高维护性

分离视图层和业务逻辑层,更易于维护和修改。

缺点:

1.比较复杂:不容易完全理解和掌握。

2.调试困难:模型和视图要严格的分离,每个构建在使用之前都需要经过彻底的测试。

3.增加系统结构和实现的复杂性:对于简单的界面,严格遵循MVC,使模型、视图和控制器分离,会增加结构的复杂性。

Spring MVC:SpringMVC属于SpringFrameWork的后续产品。

SpringMVC和Struts2对比

Struts2需要借助Spring实现,Spring MVC和Spring有直属血缘关系,吻合度高。

SSH&SSM的更多相关文章

  1. java mvc框架系列总结ssh,ssm,servlet

    2016年10月3日 10:36:40 一直以来都很想写属于自己的博客,一来可以分享自己的学习经验,二来可以及时总结,毕竟博客是写给所有人看的,需要更加仔细的注意每个细节,而不是仅仅让自己看懂. 学了 ...

  2. SSH,SSM框架文件上传

    一.了解文件上传 1.1        什么是文件上传 将本地文件通过流的形式写到服务器上 1.2        文件上传的技术 JspSmartUpload: 其组件是应用jsp进行B/S程序开发过 ...

  3. ssh ssm ssi 服务器平台架构

    1.spring + springmvc + mybatis 使用maven构建,数据库是oracle,主要是温习mybatis配置以及与spring集成.这种框架目前是使用最广泛的,这里就不多说 2 ...

  4. SSH和SSM的区别

    一怒成仙 博客园 首页 新随笔 联系 管理 订阅 随笔- 54  文章- 1  评论- 0    SSH(Struts,Spring,Hibernate)和SSM(SpringMVC,Spring,M ...

  5. SSH(Struts,Spring,Hibernate)和SSM(SpringMVC,Spring,MyBatis)的区别

    SSH 通常指的是 Struts2 做前端控制器,Spring 管理各层的组件,Hibernate 负责持久化层. SSM 则指的是 SpringMVC 做前端控制器,Spring 管理各层的组件,M ...

  6. SSM框架开发web项目系列(二) MyBatis真正的力量

    前言 上篇SSM框架环境搭建篇,演示了我们进行web开发必不可少的一些配置和准备工作,如果这方面还有疑问的地方,可以先参考上一篇“SSM框架开发web项目系列(一) 环境搭建篇”.本文主要介绍MyBa ...

  7. SSM整合(1): spring 与 springmvc 整合

    久没有写博客了, 今年事情太多了, 也没了心思. 去深圳出差,  更重要的结婚的事情, 一茬接一茬. 好在最近闲暇一些, 就想记录一些曾经困扰过我的问题(现在用spring boot真是太方便了, 很 ...

  8. 2016年终分析(传统开发与网络时代的Java开发)

    2016重大事件:(在此将2016年的开发称为传统开发) 1.乌镇互联网大会大会(大数据&云计算) 2.某东struts2安全漏洞 3.作为一个程序呀对于淘宝双11和双12的分析应该是最好的案 ...

  9. 关于成为Java高级工程师之路

    简单说明一下现状,个人目前学习使用java已经一年半,很迷茫,高不成低不就,在此列一个目标,为期18个月,再来个一年半,这样软件生涯三年后,我必须成为高级工程师! 这里涉及Java各个方面的知识,有的 ...

随机推荐

  1. 神奇的数学学习网站 All In One

    神奇的数学学习网站 All In One magical math websites {{uploading-image-923797.png(uploading...)}} Math is Fun ...

  2. js 金融数字格式化

    js 金融数字格式化 finance money number format 数字格式化 regex `123456789`.replace(/\B(?=(\d{3})+(?!\d))/g, ',') ...

  3. Flutter: 获取本地json数据

    FutureBuilder( future: DefaultAssetBundle.of(context).loadString('data/data.json'), builder: (contex ...

  4. NGK数字增益平台的算力是什么?

    今年的币价回暖带来了新一轮的"信仰充值",部分投资者对比特币的兴趣从购买向更源头的算力转移.随着比特币开采数量逐渐减少,全网算力一直在增加,算力难度也是越来越高.同时在算力行业中竞 ...

  5. app启动速度怎么提升?

    简介: APP 启动速度的重要性不言而喻.高德地图是一个有着上亿用户的超级 APP,本文从唤端技术.H5 启动页.下载速度.APP加载.线程调度和任务编排等方面,详解相关技术原理和实现方案,分享高德在 ...

  6. 【java】ObjectOutputStream & ObjectInputStream 多次写入发生重复写入相同数据的问题

    今日份代码,解决 ObjectOutputStream 多次写入发生重复写入相同数据的问题 核心区别如下: package com.sxd.swapping.objoutputstream; impo ...

  7. 17_MySQL分组查询的应用

    本节涉及SQL语句: -- 分组查询 SELECT deptno,AVG(sal) FROM t_emp GROUP BY deptno; -- 四舍五入 SELECT deptno,ROUND(AV ...

  8. 配置安装oh-my-bash

    背景 最近项目上有用到petalinux,所以只能在bash环境下使用命令行,所以不能使用oh-my-zsh 之前看一个dalao用oh-my-bash来规避这个问题.所以这里试一下安装oh-my-b ...

  9. ============================================ 新的开始(前后端分离项目学习Vue+DRF)

  10. SpringCloud之服务调用

    1.Ribbon 1.1负载均衡LB 全称Load Balance,将用户的请求平摊到多个服务器上,从而达到系统的HA.集中式LB:在服务消费者和服务提供者之间使用独立的LB设施,如硬件,由该设施负责 ...