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

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版本的时候,使用了新名称Java2 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这些框架诞生的时间和空间。

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

还没完,以下来自百度知道,感觉回答的挺好的。

简单的理解为是一种语言的的一种设计思想, 在java的基础上加入了一些EJB,Servlet,JSP,XML等技术的全面支持,其最终目标是成为一个支持企业级应用开发的体系结构,简化企业解决方案的开发,部署和管理等复杂问题。

[转载]javaEE规范和SSH三大框架到底有什么关系的更多相关文章

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

    转自博客:http://blog.csdn.net/bingjing12345/article/details/20641891 1994-2000 年是互联网的大航海时代. 请注意,下面的时间点及其 ...

  2. SSH三大框架整合案例

    SSH三大框架的整合   SSH三个框架的知识点 一.Hibernate框架 1. Hibernate的核心配置文件 1.1 数据库信息.连接池配置 1.2 Hibernate信息 1.3 映射配置 ...

  3. SSH三大框架的整合

    SSH三个框架的知识点 一.Hibernate框架 1. Hibernate的核心配置文件 1.1 数据库信息.连接池配置 1.2 Hibernate信息 1.3 映射配置 1.4 Hibernate ...

  4. eclipse中SSH三大框架环境搭建<三>

    相关链接: eclipse中SSH三大框架环境搭建<一> eclipse中SSH三大框架环境搭建<二> 引言:通过上两篇文章我们已经可以掌握struts2和spring的环境的 ...

  5. eclipse中SSH三大框架环境搭建<二>

    通过上一篇博客我们可以轻松搭建strtus2的环境,接下来由我来继续介绍spring的环境搭建以及spring注入的简单使用 相关链接:eclipse中SSH三大k框架环境搭建<一> ec ...

  6. eclipse中SSH三大框架环境搭建<一>

    这里先简单介绍一下我用的三大框架版本以及下载地址 相关链接:eclipse中SSH三大框架环境搭建<二> eclipse中SSH三大框架环境搭建<三> struts-2.3.3 ...

  7. SSH三大框架合辑的搭建步骤

    v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#default#VML);} w\:* {behavior:url(#default#VM ...

  8. Maven SSH三大框架整合的加载流程

    <Maven精品教程视频\day02视频\03ssh配置文件加载过程.avi;> 此课程中讲 SSH三大框架整合的加载流程,还可以,初步接触的朋友可以听一听. < \day02视频\ ...

  9. ssh三大框架的认识

    一.SSH三大框架的概述 ssh为 struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架.  集成SSH框架的系统从职责上分为四层:表示层.业务逻辑层 ...

随机推荐

  1. Java关于链表的增加、删除、获取长度、打印数值的实现

    package com.shb.java; public class Demo8 { public Node headNode = null; /** * @param args * @date 20 ...

  2. CentOS7下安装Mysql和Memcached 以及 使用C#操作Mysql和Memcached

    我本身是学.net的,但是现在很多主流SQL和NOSQL都是部置在linux下,本着好学的精神,前段时间装了个虚拟机,在其装上CentOS64位的服务器系统,对于英文0基础,linux0基础的我来说, ...

  3. 什么是REST、RESTful

    1.REST 指的是一组架构约束条件和原则.满足这些约束条件和原则的应用程序或设计就是 RESTful. 2.REST 原则是分层系统,这表示组件无法了解它与之交互的中间层以外的组件.通过将系统知识限 ...

  4. Linux 批量改名之 rename 命令

    刚学习到 rename 命令功能很强大,比win 下的 ren 厉害啊 具体看 man rename 语法:  rename [ -h|-m|-V ] [ -v ] [ -n ] [ -f ] [ - ...

  5. 双向循环链表的Java版本实现

    1.单项循环列表 单向循环链表是单链表的另一种形式,其结构特点是链表中最后一个结点的指针不再是结束标记,而是指向整个链表的第一个结点,从而使单链表形成一个环.和单链表相比,循环单链表的长处是从链尾到链 ...

  6. cargo failed to finish deploying within the timeout period [120000]

    cargo插件,报错:failed to finish deploying within the timeout period [120000] 解决方法:配置timeout为0 <plugin ...

  7. windows 8.1无人值守安装

    上个星期网上泄漏了微软最新的操作系统Windows 8.1,我便迫不及待的下载下来进行体验.发现其安装过程交互次数太多,太过漫长,遂研究了一下无人值守安装,现将成果记录如下. 一. 微软有专门的布署工 ...

  8. 输入参数是NSDate,输出结果是星期几的字符串

    给你一个方法,输入参数是NSDate,输出结果是星期几的字符串.+ (NSString*)weekdayStringFromDate:(NSDate*)inputDate { NSArray *wee ...

  9. QT笔记之不规则窗口的实现

    QT实现的不规则窗口,是根据图片的形状显示 1.去标题栏 2.设置窗口背景为透明色 3.最后给窗口设置背景色 注:背景图为镂空的 格式为.png 图片资源下载:http://pan.baidu.com ...

  10. [问题2014S01] 复旦高等代数II(13级)每周一题(第一教学周)

    问题2014S01  设 \(f(x_1,x_2,\cdots,x_n)\) 是次数等于 2 的 \(n\) 元实系数多项式, \(S\) 是使得 \(f(x_1,x_2,\cdots,x_n)\) ...