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. URLSearchParams & Location & URL params parse

    URLSearchParams & Location & URL params parse URL params parse node.js env bug node.js & ...

  2. console.log & front-end jobs

    console.log & front-end jobs bind & function let log = console.log; let obj = {}; log(obj); ...

  3. npm published cli package's default install missing the `-g` flag

    npm published cli package's default install missing the -g flag https://npm.community/t/npm-publishe ...

  4. React & Didact

    React & Didact A DIY guide to build your own React https://github.com/pomber/didact https://gith ...

  5. js trigger click event & dispatchEvent & svg element

    js trigger click event & dispatchEvent & svg element but svg element not support trigger cli ...

  6. subline3 如何设置es6高亮

    步骤: 1.操作Ctrl+Shift+P , 然后在弹出的框内输入Package Control: in,2.选择Package Control: install package,3.等待再次弹出输入 ...

  7. 01、初识Java

    目录 前言 一.认识Java 历史介绍 Java介绍 二.认识及安装JDK 1.认识JDK 2.安装JDK 配置与测试 配置注意及不生效解决 3.认识Java虚拟机 三.Java的工作方式 四.jav ...

  8. JVM性能调优经验总结

    本文转载自JVM性能调优经验总结 说明 调优是一个循序渐进的过程,必然需要经历多次迭代,最终才能换取一个较好的折中方案. 在JVM调优这个领域,没有任何一种调优方案是适用于所有应用场景的,同时,切勿极 ...

  9. HTTP2 的前世今生

    本文转载自HTTP2 的前世今生 导语 作为一名 Web 后端开发工程师,无论是工作中,还是面试时,对于 HTTP 协议的理解都是必不可少的.而 HTTP2 协议的发布更是解决了 HTTP1.1 协议 ...

  10. Jmeter beanshell编程实例

    1.引言 BeanShell是一种小型的,免费的,可嵌入的符合Java语法规范的源代码解释器,具有对象脚本语言特性. 在Jmeter实践中,由于BeanShell组件较高的自由度,通常被用来处理较为复 ...