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. Github OAuth All In One

    Github OAuth All In One new https://docs.github.com/en/free-pro-team@latest/developers/apps/authoriz ...

  2. Web Components All In One

    Web Components All In One Web Components https://www.webcomponents.org/ HTML Template Custom Element ...

  3. es6 & map & set

    es6 & map & set Map & WeakMap https://developer.mozilla.org/en-US/docs/Web/JavaScript/Re ...

  4. OSS & Object Storage Service

    OSS & Object Storage Service Object Storage Service https://en.wikipedia.org/wiki/Object_storage ...

  5. postman 发送数组

    原文 users[]:aa users[]:22 object[] // { users: [ { name: ' "ajanuw"', pwd: ' "aaa" ...

  6. NGK公链:通用型存储网络

    NGK公链,是一条发展中的通用型存储网络. NGK的运用归结与存储场景.NGK通证的运用归结于支付场景.个人数据被中心化服务商买卖.被大数据服务商使用.被无数的商务及销售人员窃取.那么NGK的运用场景 ...

  7. 死磕以太坊源码分析之EVM如何调用ABI编码的外部方法

    死磕以太坊源码分析之EVM如何调用ABI编码的外部方法 配合以下代码进行阅读:https://github.com/blockchainGuide/ 写文不易,给个小关注,有什么问题可以指出,便于大家 ...

  8. WPF窗口和用户控件事件相互触发

    问题1: WPF项目里有一个窗口和一个用户控件,窗口和用户控件里都有一个Button,点击窗口里的Button如何触发用户控件里Button的Click事件 解答: //窗口代码 public par ...

  9. MySQL 异常有这一篇就够了!

    摘要:在本文中,总结了开发过程中最为常见的几种 MySQL 抛出的异常以及如何解决,包括高版本驱动的问题.时区配置问题.SSL 连接问题等,是一篇经验总结贴. 前言 在本文中,总结了开发过程中最为常见 ...

  10. EurekaServer源码分析

    Eureka Server功能 接受服务注册 接受服务心跳 服务剔除 服务下线 集群同步 获取注册表中服务实例信息 需要注意的是,Eureka Server同时也是一个Eureka Client,在不 ...