1、框架ssm、ssh

当下流行的两种企业开发MVC开源框架,是我们Java程序猿必备知识能力。MVC,即模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。框架之所以流行,在于其易复用和简化开发,精髓在思想,掌握了核心思想,我们掌握其他类似框架也不会有问题,建议大家有精力的话读一下框架源码,尤其是Spring。

SSH和SSM定义

  1. SSH 通常指的是 Struts2 做控制器(controller),spring 管理各层的组件,hibernate 负责持久化层。
  2. SSM 则指的是 SpringMVC 做控制器(controller),Spring 管理各层的组件,MyBatis 负责持久化层。
  3. 共同点:1.Spring依赖注入DI来管理各层的组件。2.使用面向切面编程AOP管理事物、日志、权限等。
  4. 不同点:1.Struts2 和 SpringMVC 控制器(controller)控制视图和模型的交互机制的不同,
  5. Struts2是Action类级别,SpringMVC是方法级别,更容易实现RESTful风格。
  6. 两者各自优势:

  7. MyBatis可以进行更为细致的SQL优化,可以减少查询字段。
  8. MyBatis容易掌握,而Hibernate门槛较高。
  9. Hibernate的DAO层开发比MyBatis简单,Mybatis需要维护SQL和结果映射。
  10. Hibernate对对象的维护和缓存要比MyBatis好,对增删改查的对象的维护要方便。
  11. Hibernate数据库移植性很好,MyBatis的数据库移植性不好,不同的数据库需要写不同SQL。
  12. Hibernate有更好的二级缓存机制,可以使用第三方缓存。MyBatis本身提供的缓存机制不佳,更新操作不能指定刷新指定记录,会清空整个表,但是也可以使用第三方缓存。
  13. Hibernate 封装性好,屏蔽了数据库差异,自动生成SQL语句,应对数据库变化能力较弱,SQL语句优化困难。
  14. MyBatis仅实现了SQL语句和对象的映射,需要针对具体的数据库写SQL语句,应对数据库变化能力较强,SQL语句优化较为方便。
  15. 总结:

    SSM和SSH不同主要在MVC实现方式,以及ORM持久化方面不同(Hiibernate与Mybatis)。SSM越来越轻量级配置,将注解开发发挥到极致,且ORM实现更加灵活,SQL优化更简便;而SSH较注重配置开发,其中的Hiibernate对JDBC的完整封装更面向对象,对增删改查的数据维护更自动化,但SQL优化方面较弱,且入门门槛稍高。

2、ajax(“Asynchronous Javascript And XML”(异步 JavaScript 和 XML))

Ajax = 异步 JavaScript 和 XML 或者是 HTML(标准通用标记语言的子集)。

Ajax 是一种用于创建快速动态网页的技术。

Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。

通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

传统的网页(不使用 Ajax)如果需要更新内容,必须重载整个网页页面。

3、接口分类(http接口、api接口、RPC接口、RMI、webservice、Restful等概念)

http接口:基于HTTP协议的开发接口.这个并不能排除没有使用其他的协议。

api接口:API(Application Programming Interface)应用程序编程接口,应用也包括网络应用程序,就像api文档基本上就是使用说明书,API接口可以简单理解成“应用程序使用接口”。

RPC接口:Remote Procedure Calls 远程过程调用 (RPC) 是一种协议,程序可使用这种协议向网络中的另一台计算机上的程序请求服务。由于使用 RPC 的程序不必了解支持通信的网络协议的情况,因此 RPC 提高了程序的互操作性。在 RPC 中,发出请求的程序是客户程序,而提供服务的程序是服务器。 RPC(远程过程调用)是一项广泛用于支持分布式应用程序(不同组件分布在不同计算机上的应用程序)的技术。RPC 的主要目的是为组件提供一种相互通信的方式,使这些组件之间能够相互发出请求并传递这些请求的结果。 没有语言限制。

RMI:RMI(Remote Method Invocation,远程方法调用)RMI是针对于java语言的, RMI 允许您使用Java编写分布式对象

Webservice接口:Webservice是系统对外的接口,比如你要从别的网站或服务器上获取资源或信息,别人肯定不会把数据库共享给你,他只能给你提供一个他们写好的方法来获取数据,你引用他提供的接口就能使用他写好的方法,从而达到数据共享的目的。

RESTful : 简称 REST,是描述了一个架构样式的网络系统,其核心是面向资源,REST专门针对网络应用设计和开发方式,以降低开发的复杂性,提高系统的可伸缩性。

http和webservice接口区别

httpservice通过post和get得到你想要的东西
webservice就是使用soap协议得到你想要的东西,相比httpservice能处理些更加复杂的数据类型
http协议传输的都是字符串了,webservice则是包装成了更复杂的对象。

软件开发中常见名词解释相关推荐

  1. 软件开发中 常见英文文档 缩写(转)

    软件开发中常见英文缩写和各类软件开发文档的英文缩写: 英文简写 文档名称 MRD market requirement document (市场需求文档) PRD product requiremen ...

  2. 软件开发中 常见英文文档 缩写

    软件开发中常见英文缩写和各类软件开发文档的英文缩写: 英文简写 文档名称 MRD market requirement document (市场需求文档) PRD product requiremen ...

  3. 软件开发中常见英文缩写和各类软件开发文档的英文缩写

    软件开发中常见英文缩写和各类软件开发文档的英文缩写: 文章复制粘贴来源于:http://blog.sina.com.cn/s/blog_7326867a0100yfdl.html 英文简写 文档名称 ...

  4. 软件开发中常见知识总结

    最近在准备软件开发的笔试面试,复(yu)习(xi)了一些在软件开发中的常见知识.为了给自己攒点RP,故与大家分享一二. 软件开发需要准备的比较多,主要分为编程语言,数据结构和算法,计算机网络,计算机操 ...

  5. 无人机航测行业中常见名词解释,你都知道吗?

    无人机航测具有机动灵活.高效快速.作业成本低.适用范围广.生产周期短等优势,目前主要应用于地形测绘.工程建设.土地资源调查.地质灾害应急处理.城市数字化建设等方面.下面就来了解一下无人机航测行业中的常 ...

  6. Java开发中各类名词解释大全

    在Java开发里面出现了很多名次,包括以后学习Java中也会出现很多常用到的名词,对初学者来说可能不知道是什么意思,或者是对这些刺耳的理解不是特别透彻,这里我就我自己的理解来解释下这些词的意思. 包 ...

  7. 技术开发中一些名词解释

    前言 现在还记得第一次面试的时候,被问HTML全称是什么,这才意识到记住全称并不是无理取闹,而是个人对这项技术的理解程度还没到.当你去了解一个技术的时候,名词是首先要掌握的,除非你只是皮毛. 常规 英 ...

  8. linux中常用名词解释,科学网—linux中常见名词解释 - 武海丹的博文

    Shell:是系统的用户界面,提供了用户与内核进行交互操作的一种接口.它接收用户输入的命令并把它送入内核去执行.实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核.(当用户发出 ...

  9. 高通量测序中常见名词解释

    测序数据量: 常见的测序量概念有 M 和 G ,for example  10M  和 10G 解释: M 常用于描述reads 的数量. 例如 10M 就是 10 *10^6 条reads G 常用 ...

最新文章

  1. python 3.10 新增 switch-case 简介
  2. 放大器非线性失真研究装置_高效布里渊光纤放大器
  3. 结构体中vector自动为0_面试题:你是如何选择顺序存储数据结构的?
  4. 番茄花园 Win10 系统 64位 全新纯净版 v2021.01
  5. Java番外篇4——BigInteger与BigDecimal
  6. java学习二---对象和内存管理
  7. JS与PHP向函数传递可变参数的区别
  8. Hadoop学习系列(一)
  9. 中国妇女儿童统计资料(2014-2020年)
  10. 四叶草efi_Clover EFI bootloader for Mac(四叶草启动引导工具)
  11. 机器学习中的数学——结构化概率模型/图模型
  12. JUL(java.util.logging)java原生官方日志 使用与配置--解决jul不输出显示日志问题
  13. [BZOJ3772]精神污染(dfs序+主席树)
  14. 使用nodebb搭建一个论坛
  15. aptx与ldac音质区别_aptx跟ldac差距大么
  16. Kafka 精妙的高性能设计(上篇)
  17. NUC 折腾笔记 - Linux 系统篇
  18. WPF中的StackPanel、WrapPanel、DockPanel
  19. springboot班级同学录网站
  20. tshark简单使用-wireshark

热门文章

  1. Moment.js 2.22.2 源代码
  2. Dynamic ODT
  3. jQuery 画二维码
  4. 阿里云服务器和虚拟主机之间的区别
  5. 网站背景音乐隐藏按钮自动播放
  6. 书籍推荐《麦肯锡教我的写作武器》
  7. vue2中的watch监听
  8. linux中来宾用户权限,linux权限分配
  9. 字节跳动大数据中心17万服务器硬实力支撑今日头条等产品线(公号回复“字节跳动”下载PDF典型资料,欢迎转发、赞赏支持科普)
  10. An中的共轭类的个数