SSH完全的开源产品,如果用SSH就必然会用到大量的开源的东东,从数据库到逻辑到控制到前端,开源产品大拼装,

其中SSH中的三大核心,Struts相当于JSF,spring相当于EJB,hibernate相当于JPA,

具体反映到IDE对于两种框架的支持上,本人用的是netbeans,对经典的JAVAEE支持的非常好,所有的配置文件都集成到了IDE中,甚至还包括了一个中文免费的EJB容器:Glassfish,反观SSH,虽然也有大力支持,但是配置起来相对繁琐,不过也还好,总之,SSH和经典JAVAEE之间确实是相互补充,共同进步的关系。

SSH优点:运行速度快,开发调试一点就来

缺点:配置显复杂了些,拼装起来有种大杂烩的感觉

经典JAVAEE优点:集成度高,整体感强

缺点:EJB容器相对对电脑要求高些,开发调试速度慢

 
 

SSH是标准的  面向对象框架。这里的标准有两层含义,一指它是一个非常合格的面向对象框架,一指它近乎业界的标准。一个 一直被认为与它有点冲突的真正的标准是EJB。

EJB更像一个企业级应用API。它的目标是在应用程序服务器与企业应用之间建立一个通信层。也就是说它在服务器与应用之间插入了一个协议。两者之间则通过协议进行通信。通过协议进行通信的好处不言而喻,它为两者的独立发展提供了一个非常牢固的基础。

这个基础的来源便在于抽象化:EJB通过将应用需求进行高度,标准化的抽象,重新定义了几乎所有(至少它在尝试)的应用程序服务。因为只有在这些服务得到成功的抽象以后,服务器开发者才能得到它真正的自由,应用程序开发者也才能得到它的。在这个意义上,SSH与之相比,实在是九牛一毛,不值得比。

虽然现在的SPRING现在庞大无比,但是一开始的SSH其实是一个最简单的OO框架:它只是简单地处理了一下分别处于两头的持久层与表现层并在中间层上提供了一个简单的对象创建器(IOC)。我把这个一开始的SSH当成我们现在讨论的对象。因为即使SPRING提供再多的东西,也无法改变SSH作为一个整体在系统开发中的地位:一个面向对象的支撑器。

等等,一个面向对象的支撑器?

看到这里,还会有人想把它与EJB相比吗?(当然,如果把现在的SPRING整个服务体系也搬进来的话,一定要比还是有办法的)。因为对象与服务显然是两个完全不同的概念。对象只是服务的一种。EJB的假设是对象这种东西应该是由应用程序开发者自己去处理的,平台不应该处理这样的问题。因为它属于用户程序领域(这是SPRING之所以能向J2EE斜插一刀的原因)。另一方面,对象服务本来就比较贴“身”,平台的确不太便于处理这样的服务?

SSH与EJB 比较的更多相关文章

  1. 各种概念POJO、JAVABEAN、DAO、DTO、PO、VO、BO、SSH、EJB

    转自:https://my.oschina.net/pacoyang/blog/151695 POJO(pure old java object)是普通java类,有一些private的参数作为对象的 ...

  2. ssh和ejb的区别

    转自:https://zhidao.baidu.com/question/137154342.html SSH(Struts,Spring,Hibernate) Struts进行流程控制,Spring ...

  3. JAVABEAN EJB POJO区别

    1.POJO POJO(Plain Old Java Object)这种叫法是Martin Fowler.Rebecca Parsons和Josh MacKenzie在2000年的一次演讲的时候提出来 ...

  4. JavaBean 与 EJB 的区别

    JavaBean在一般情况下指的是实体类,在大部分情况下和POJO是同义词,基本构成就是一些字段和与之对应的 setter.getter方法,如果一个JavaBean需要在不同的JVM的进程中进行传递 ...

  5. 对EJB的认识

    对EJB的认识 接触EJB以来有一段时间了,走马观花一样把它所涉及到的东西看了一遍,随着深入了解越来越感觉到ejb的很强大,用了java后觉的java好用.学历SSH觉的比java好用.学了ejb觉的 ...

  6. Java系列之EJB 理解

    EJB = Enterprise Java Bean,它和JavaBean有本质的区别,最好不要将他们混淆起来,就像不要将Java和 Javascript混淆起来一样.EJB有3中类型:Session ...

  7. 【转】JAVA自学之路

    JAVA自学之路 一: 学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向 ...

  8. Struts 2 Learning

    目录 . J2EE简介 . JAVA EE应用的分层模型 . 搭建Struts2 Demo应用 . struts2流程 . struts2的常规配置 . 实现Action . 配置Action . 配 ...

  9. 我们如何学好java

    转载:http://www.zhihu.com/question/19945685 马士兵有一篇文章,我觉得写得很好,原文转载如下,希望题主可以好好读读. ---------------------- ...

随机推荐

  1. css样式编辑

    1.剪切: clip:rect(a,b,c,d); a参数:从顶部开始剪切,多少参数表示腰间切多少: b参数:从右边开始剪切,用减法来计算要剪去的多少:(最大的宽度-b参数 = 剪去的参数) c参数: ...

  2. OC Protocol----协议

    类似Java的泛型与接口的结合体,用于类型的<>中,可以多继承(按照OC的说法叫遵从某些协议) 1.定义协议 @protocol Client <NSObject> -(voi ...

  3. MyElcipse之问题小结

    运行MyEclipse时,遇到这一错误提示: An internal error occurred during: "Launching chat on MyEclipse Tomcat & ...

  4. 滚动视图和页面控制UIScollView,UIpageControlDemo

    ////  ViewController.m//  UIScollView////  Created by hehe on 15/9/25.//  Copyright (c) 2015年 wang.h ...

  5. javascript之正则表达式总结

    了解RegExp类型: ECMAScript通过RegExp类型来支持正则表达式. var expression=/pattern/flags; 正则表达式的模式(pattern)部分: 可以是任何简 ...

  6. 《锋利的jQuery》心得笔记--Four Sections

    第八章 1.    当父元素设置position:relative的时候,子元素设置position:absolute.这个子元素设置在父元素的任何位置. 第九章 1.    对可视区进行纠正,通知浏 ...

  7. DFS入门之一

    深度优先搜索实现较为简单,需要控制两个因素: 1.已经访问过的元素不能再访问,在实际题目中还要加上不能访问的元素(障碍) 2.越界这种情况是不允许的 以杭电的1312 Red and Black 为例 ...

  8. java使用sigar 遇到问题的解决方案

    先给大家介绍一个开源工具Sigar 官网:http://sigar.hyperic.com/ API:http://www.hyperic.com/support/docs/sigar/index-a ...

  9. (一)Qt界面设计布局

    Qt提供四种布局: 这种布局生成的格局比较单一,这时候需要另外两个填充控件,来生成整行或整列的格式. 注意:使用Spacers控件时,必须要放在layouts中的布局中,否则无法保存. 示例: 1.往 ...

  10. C语言 数组输出,冒泡排序法,沉底排序法,二维数组输出,输出字母列长度,从随机数组中找重复数

    #include <stdio.h> #define sum 3+4//宏定义是原封不动的使用used for test4 #include <time.h>//used fo ...