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. 深入了解EJB (一) EJB在java世界的地位

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

  2. JavaBean 与 EJB 的区别

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

  3. java 程序架构知识

    流程类 Activity 的介绍和使用(一) https://blog.csdn.net/litengit/article/details/51065442 三分钟明白 Activity工作流 -- ...

  4. [原创 - 尚学堂科技 - 马士兵老师]

    JAVA自学之路 一:学会选择 [转载请注明出处:http://www.bjsxt.com/zixue/zixuezhilu_1.html] 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多 ...

  5. 马士兵_JAVA自学之路(为那些目标模糊的码农们)

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

  6. Java的学习——培训或自学

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

  7. 三年程序员生涯的感悟、总结和憧憬

    不知不觉已经走入这行三年,虽没多大成就,但三年的努力和磨练也算是个成手了. 在将要从三年迈向五年经验之际,不禁开始思考,怎样才能向软件开发高手迈进. 三年的工作时间,说来不长,但回头想想却也像过了小半 ...

  8. 关于程序员的问题,我是看大佬说的不是我说的。

    转载自:http://blog.csdn.net/anlidengshiwei/article/details/42264301JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训. ...

  9. 如何成为一个高效、快乐、健康的程序员

    只需每天做一些小改变,就可摆脱病痛.保持健康.....学会去积累工作经验和成果就会变得高效......具备这些小习惯就会保持快乐-- 一:高效 互联网发展日新月异,社会科技每天都在发生着翻天覆地的变化 ...

最新文章

  1. 改變人生的21種好習慣
  2. 【星榜单】盘点那些坑爹的国产手机们
  3. SpringBoot 集成 Elasticsearch
  4. 计算机操作原理进程调度算法---先来先服务,短进程优先(C语言)
  5. 499php,一笔画仙路 [499]第499章 神器的威力 最新章节无弹窗全文免费阅读 乐文阅读官网...
  6. 面试题鬼的很:Class.forName 和 ClassLoader 有什么区别?
  7. AngularJS的学习--$on、$emit和$broadcast的使用
  8. 循环删除List集合的错误
  9. 来了!华为首款5G双模手机Mate 20 X (5G)发布:这个价格香吗?
  10. jquery子元素过滤选择器
  11. mysql 删除数据表大小没变_为什么数据删除了,表文件大小不变?
  12. 四川的软考成绩终于出来了
  13. 颜色rgba、16进制、10进制互相装换
  14. Educoder CC++数组实训
  15. office 2019 word鼠标点击反应慢要等一下
  16. 推荐 :数据可视化的方法、工具和应用
  17. 平凉锅盔西北美食的文化的传承之一
  18. OpenCV学习笔记(Python)———— 画轮廓
  19. 电影渲染 cinematic 3d rendering
  20. 管理系统菜单父子结构,有parentId,快速获取结构树代码

热门文章

  1. 20220323:双边沿触发器趣解
  2. java 对象排重_现代化的 Java (八)——重说对象序列化
  3. 12306加密传输_前沿一键发送“文图音视频” 支持加密传输、图形密码、保护用户隐私……5G消息要来了!...
  4. 百度定位安卓6.0权限问题
  5. mat查找多线程并发下大对象导致的堆内存问题
  6. C++中的STL和MFC
  7. 【引用】成熟人格六要素
  8. CB Insight公布32家全球AI独角兽,中国10家入围
  9. 【leetcode】1090. Largest Values From Labels
  10. go 的基本数据类型