javaEE规范和SSH三大框架到底有什么关系

1994-2000 年是互联网的大航海时代。

请注意,下面的时间点及其重要。

1994年,网景公司(Netscape)发布了Navigator浏览器0.9版。这是历史上第一个比较成熟的网络浏览器,轰动一时。但是,这个版本的浏览器只能用来浏览,不具备与访问者互动的能力。网景公司急需一种网页脚本语言,使得浏览器可以与网页互动。

1995年Sun公司将Oak语言改名为Java,正式向市场推出。Sun公司大肆宣传,许诺这种语言可以"一次编写,到处运行"(Write Once, Run Anywhere),它看上去很可能成为未来的主宰。

1995年5月,网景公司做出决策,未来的网页脚本语言必须"看上去与Java足够相似",但是比Java简单,使得非专业的网页作者也能很快上手,于是javaScript就诞生了。

1998年Sun公司在发表JDK1.2版本的时候,使用了新名称Java 2 Platform,即“Java2平台”,修改后的JDK称为Java 2 Platform Software Develping Kit,即J2SDK。

并分为标准版(Standard Edition,J2SE), 企业版(Enterprise Edition,J2EE),微型版(MicroEdition,J2ME)。J2EE便由此诞生。

 

sun设计J2EE的初衷正是为了解决两层模式(client/server)的弊端。

在传统模式中,客户端担当了过多的角色而显得臃肿,在这种模式中,第一次部署的时候比较容易,但难于升级或改进,可伸展性也不理想,而且经常基于某种专有的协议,通常是某种数据库协议。它使得重用业务逻辑和界面逻辑非常困难。

 

J2EE将网站的开发分为四层:

 

客户层组件

J2EE应用程序可以是基于web方式的(浏览器),也可以是基于传统方式的.浏览器方面主要推动了html+css+js

 

web 层组件

J2EE web层组件可以是JSP 页面或Servlets.

 

业务层组件

EJB做了业务逻辑的处理和数据库相关的操作。

有三种企业级的bean: 会话(session) beans,实体(entity) beans,和消息驱动(message-driven)

beans. 会话bean 表示与客户端程序的临时交互.实体bean 表示数据库的表中一行永久的记录. 当客户端程序中止或服务器关闭时,就会有潜在的服务保证实体bean 的数据得以保存.消息驱动 bean 结合了会话bean 和 JMS的消息监听器的特性,允许一个业务层组件异步接收JMS 消息.

 

企业信息系统层

存储信息。企业信息系统层处理企业信息系统软件包括企业基础建设系统例如企业资源计划

(ERP),大型机事务处理,数据库系统,和其它的遗留信息系统。

 

这套规范大大降低了网站的开发难度,从某些方面看它绝对是成功的。可网站的开发还是比较困难。J2EE这套规范应该是订的太早了,因为当制定这套规范时互联网正在迅猛发展,可以用一日千里形容。

2000年发生互联网泡沫,sun公司一蹶不振。同时遇难的还有一堆不知名的小互联网公司。可能是那时候做网站的一堆人们日子比较清闲,毕竟很多公司都关门大吉了。有些人就发现,J2EE这套规范臃肿、低效、难用且脱离现实。于是他们下定决心,对其改造。

 

2000~2001年 Craig觉得web层可以使用MVC框架使该层开发更加容易,于是就有了Struts,这一步是对原来规范的很好实现,并没有产生质的突破。

 

2001~2003年 Gavin 觉得EJB连接数据的部分有待改进,于是就有了Hibernate,Hibernate并没有被规范束缚,而是想怎么改就怎么改。

 

2002年左右 html+css+js也开始渐渐分离

2002~2004年 Rod觉得类和类之间的依赖关系应该改善,于是就有了Spring,Spring是为了让javaEE规范更加易用,因此对其进行了大刀阔斧的改造。在当时看绝对是取其精华,去其糟粕。

 

 

从1998年到2004年,sun公司不可能没有发现J2EE存在的问题,可是从2000年以后sun就无能为力了,因为它的股票一落千丈,跌的就剩下零头了。这才有了SSH这些框架诞生的时间和空间。

由此看来危机恰恰才是我们的转机,在黑暗中看到希望,我们的成就才能超出我们的想象。

文章转载自:http://blog.csdn.net/bingjing12345/article/details/20641891

时间: 2024-11-05 21:53:17

javaEE规范和SSH三大框架到底有什么关系的相关文章

我用ssh三大框架编写完一个功能后,测试时出现了这个错误,求解。

问题描述 我用ssh三大框架编写完一个功能后,测试时出现了这个错误,求解. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [bean.xml]: Invocation of init method failed; nested exception is org.hiberna

面试-SSH三大框架的原理与核心技术

问题描述 SSH三大框架的原理与核心技术 我即将面试java岗位,应届毕业生,学的不是很好,有谁能详细的跟我讲解下三大框架的原理及一些 核心的东西,我想背下,谢谢了! 解决方案 这个一句两句说不清,去看面试宝典吧 解决方案二: http://www.chnxp.com.cn/soft/down-108066.html 看下这个书吧,原理方面的问题不是几下就可以说明白的

MyEclipse整合ssh三大框架环境搭载用户注册源码下载_java

前言 SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序. 集成SSH框架的系统从职责上分为四层:表示层.业务逻辑层.数据持久层和域模块层(实体层). Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持.Spring一方面作为一个轻量级的IoC容器,负责查找.定位.创建和管理对象及

SSH三大框架中单选按钮问题

问题描述 <tdclass="l_name">是否启用:</td><td><inputtype="radio"id="status"value="yes"name="statusid"checked="checked"><spanclass="green">启用</span>      <i

SSH三大框架的工作原理及流程

Hibernate工作原理及为什么要用? 原理: 1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件 2.由hibernate.cfg.xml中的读取并解析映射信息 3.通过config.buildSessionFactory();//创建SessionFactory 4.sessionFactory.openSession();//打开Sesssion 5.session.beginTransaction();//创建事务Tra

介绍SSH三大框架?

问题描述 请你说说你对Struts.Spring.Hibernate的认识? 解决方案 解决方案二:struts控制层hibernate持久层spring无缝隙粘合解决方案三:该回复于2011-03-17 13:50:13被版主删除解决方案四:个人认为:3个框架的作用不同,但是一定要有struts,struts是个"连接件",业务逻辑都写在这里面了,是MVC中的C,也就是控制层:hibernate是为了封装数据库,是MVC中的M,模型层,这个没什么太大不同的,反正就是JDBC的功能了,

Java新手如何学习三大框架

Java新手如何学习Spring.Strurs.Hibernate三大框架? 1. 学习方法 1.1 给我一个可以运行的学习Demo 曾经有过面向百度学习框架的同学,一定会有这种感受,哗啦一搜,各种框架文章呀,真好,真好,趁着学习干劲足足的, 赶紧的照着这些文章做呀. 可是,倒腾了几十分钟,妈蛋~ 怎么跑不出来啊, 怎么报错啊? 这个报错的话,文章里没有说怎么解决呀! 不行不行,换篇文章吧,换了好几个,还是没办法做出效果出来. 慢慢的,心里就凉了,一点点的丧失了学习的兴趣和动力,最后就不了了之了

mvc和三大框架有什么区别

问题描述 网上有人说mvc是在展示层,也有些人说模型包含业务逻辑层和持久层,我们老师也是第一种观点请问这个该怎么理解才好? 解决方案 解决方案二:mvc是一种软件架构思想,将软件的组成部分划分成三种不种类型的模块:分别是model(模型):封装业务逻辑(业务逻辑指的是对业务数据的处理过程以及为保证处理能够正常执行的一些基础服务,比如事务.安全.日志等等,封装指的是模型应该提供接口,调用者使用接口来调用模型的功能).view(视图):实现表示逻辑(视图要对模型处理之后返回的数据提供合适的表现形式,

hibernate-java三大框架的问题,数据库操作

问题描述 java三大框架的问题,数据库操作 学的时候用三大框架融合了做,hibernate提供的那四个增删改查方法也够用,现在真正做项目了,那四个方法完全不够用了,要在Java代码里随意的写sql语句,进行数据库的操作,方法有executeQuery.executeUpdate 和 execute,但是这几个方法怎么来的不知道啊,还有大项目的数据库连接一般怎么写 解决方案 ssh中主要用hql语句,hql完全可以应付:_实现类中impl,继承和ibernateDaoSupport然后方法中使用